[INFO] fetching crate seite 0.12.0...
[INFO] testing seite-0.12.0 against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] extracting crate seite 0.12.0 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate seite 0.12.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate seite 0.12.0
[INFO] tweaked toml for crates.io crate seite 0.12.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate seite 0.12.0 on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate seite 0.12.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 891dda41447e3e9ec70d1e0413e5aed1c27ad26a70faa43d67e8f9e25bcffbd2
[INFO] running `Command { std: "docker" "start" "891dda41447e3e9ec70d1e0413e5aed1c27ad26a70faa43d67e8f9e25bcffbd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "891dda41447e3e9ec70d1e0413e5aed1c27ad26a70faa43d67e8f9e25bcffbd2" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "891dda41447e3e9ec70d1e0413e5aed1c27ad26a70faa43d67e8f9e25bcffbd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "891dda41447e3e9ec70d1e0413e5aed1c27ad26a70faa43d67e8f9e25bcffbd2" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling siphasher v1.0.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling as-slice v0.2.1
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling av-scenechange v0.14.1
[INFO] [stderr]    Compiling built v0.8.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling aligned v0.4.3
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling equator v0.4.2
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling phf_macros v0.13.1
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling core2 v0.4.0
[INFO] [stderr]    Compiling aligned-vec v0.6.4
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling y4m v0.8.0
[INFO] [stderr]    Compiling pastey v0.1.1
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling v_frame v0.3.9
[INFO] [stderr]    Compiling bitstream-io v4.9.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]    Compiling profiling v1.0.17
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling maybe-rayon v0.1.1
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling imgref v1.12.0
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling phf v0.13.1
[INFO] [stderr]    Compiling loop9 v0.1.5
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling onig_sys v69.9.1
[INFO] [stderr]    Compiling libwebp-sys v0.9.6
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling phf_codegen v0.13.1
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling chrono-tz-build v0.3.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling avif-serialize v0.8.8
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling zune-core v0.5.1
[INFO] [stderr]    Compiling rgb v0.8.53
[INFO] [stderr]    Compiling pxfm v0.1.28
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling chrono-tz v0.9.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling zune-jpeg v0.5.13
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling bon-macros v3.9.0
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling av1-grain v0.2.5
[INFO] [stderr]    Compiling katex-rs v0.2.4
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling quick-xml v0.38.4
[INFO] [stderr]    Compiling is-docker v0.2.0
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling pulldown-cmark v0.13.1
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling deunicode v1.6.2
[INFO] [stderr]    Compiling slug v0.1.6
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling moxcms v0.8.1
[INFO] [stderr]    Compiling humansize v2.1.3
[INFO] [stderr]    Compiling plist v1.8.0
[INFO] [stderr]    Compiling is-wsl v0.4.0
[INFO] [stderr]    Compiling inotify v0.11.1
[INFO] [stderr]    Compiling globwalk v0.9.1
[INFO] [stderr]    Compiling ureq-proto v0.5.3
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]    Compiling fuzzy-matcher v0.3.7
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling rapidhash v4.4.1
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling bon v3.9.0
[INFO] [stderr]    Compiling serde_spanned v1.0.4
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling toml_datetime v1.0.0+spec-1.1.0
[INFO] [stderr]    Compiling notify-types v2.1.0
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling seite v0.12.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling chunked_transfer v1.5.0
[INFO] [stderr]    Compiling toml_writer v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling pulldown-cmark-escape v0.11.0
[INFO] [stderr]    Compiling ascii v1.1.0
[INFO] [stderr]    Compiling onig v6.5.1
[INFO] [stderr]    Compiling indicatif v0.18.4
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling notify v8.2.0
[INFO] [stderr]    Compiling dialoguer v0.12.0
[INFO] [stderr]    Compiling serde_yaml_ng v0.10.0
[INFO] [stderr]    Compiling tiny_http v0.12.0
[INFO] [stderr]    Compiling toml v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling open v5.3.3
[INFO] [stderr]    Compiling syntect v5.3.0
[INFO] [stderr]    Compiling tera v1.20.1
[INFO] [stderr]    Compiling clap_complete v4.6.0
[INFO] [stderr]    Compiling quick-xml v0.39.2
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling ravif v0.13.0
[INFO] [stderr]    Compiling image v0.25.10
[INFO] [stderr]    Compiling ureq v3.2.0
[INFO] [stderr]    Compiling webp v0.3.1
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 58s
[INFO] running `Command { std: "docker" "inspect" "891dda41447e3e9ec70d1e0413e5aed1c27ad26a70faa43d67e8f9e25bcffbd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "891dda41447e3e9ec70d1e0413e5aed1c27ad26a70faa43d67e8f9e25bcffbd2" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling assert_cmd v2.2.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling globwalk v0.9.1
[INFO] [stderr]    Compiling tera v1.20.1
[INFO] [stderr]    Compiling seite v0.12.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 41.21s
[INFO] running `Command { std: "docker" "inspect" "891dda41447e3e9ec70d1e0413e5aed1c27ad26a70faa43d67e8f9e25bcffbd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "891dda41447e3e9ec70d1e0413e5aed1c27ad26a70faa43d67e8f9e25bcffbd2" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.52s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/seite-cd464fca06eb9e2a)
[INFO] [stdout] 
[INFO] [stdout] running 1239 tests
[INFO] [stdout] test build::analytics::tests::test_consent_banner_accessibility ... ok
[INFO] [stdout] test build::analytics::tests::test_consent_banner_responsive_css ... ok
[INFO] [stdout] test build::analytics::tests::test_ga4_direct_injection ... ok
[INFO] [stdout] test build::analytics::tests::test_gtm_direct_injection_with_noscript ... ok
[INFO] [stdout] test build::analytics::tests::test_no_head_tag_unchanged ... ok
[INFO] [stdout] test build::analytics::tests::test_ga4_consent_banner ... ok
[INFO] [stdout] test build::analytics::tests::test_gtm_consent_no_noscript ... ok
[INFO] [stdout] test build::analytics::tests::test_fathom_injection ... ok
[INFO] [stdout] test build::analytics::tests::test_plausible_custom_url_ignores_extensions ... ok
[INFO] [stdout] test build::analytics::tests::test_non_plausible_extensions_ignored ... ok
[INFO] [stdout] test build::analytics::tests::test_plausible_injection ... ok
[INFO] [stdout] test build::analytics::tests::test_plausible_legacy_still_uses_defer_and_data_domain ... ok
[INFO] [stdout] test build::analytics::tests::test_plausible_single_extension ... ok
[INFO] [stdout] test build::analytics::tests::test_plausible_extensions_with_consent ... ok
[INFO] [stdout] test build::analytics::tests::test_plausible_unique_snippet_url ... ok
[INFO] [stdout] test build::analytics::tests::test_plausible_unique_snippet_with_consent ... ok
[INFO] [stdout] test build::analytics::tests::test_plausible_with_extensions ... ok
[INFO] [stdout] test build::analytics::tests::test_umami_custom_script_url ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_basic ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_closing_tags_unchanged ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_meta_tags ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_no_op_when_empty_base ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_multiple_attrs ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_preserves_absolute ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_skips_text_content ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_self_closing ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_picture_element ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_srcset ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_srcset ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_url_relative_unchanged ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_url_root_relative ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_url_skip_absolute ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_url_skip_already_prefixed ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_url_skip_special ... ok
[INFO] [stdout] test build::cache::tests::test_cache_path_location ... ok
[INFO] [stdout] test build::cache::tests::test_changeset_content_rebuild_count ... ok
[INFO] [stdout] test build::cache::tests::test_check_dir_changed_no_cached_no_dir ... ok
[INFO] [stdout] test build::cache::tests::test_config_mtime_changed_but_hash_same_no_rebuild ... ok
[INFO] [stdout] test build::cache::tests::test_cache_save_load_roundtrip ... ok
[INFO] [stdout] test build::cache::tests::test_deleted_content_detected ... ok
[INFO] [stdout] test build::cache::tests::test_file_mtime_nonexistent_returns_zero ... ok
[INFO] [stdout] test build::cache::tests::test_fnv_hash16_deterministic ... ok
[INFO] [stdout] test build::cache::tests::test_fnv_hash16_different_inputs ... ok
[INFO] [stdout] test build::cache::tests::test_load_missing_file_returns_default ... ok
[INFO] [stdout] test build::cache::tests::test_data_change_triggers_full_rebuild ... ok
[INFO] [stdout] test build::cache::tests::test_content_skipped_when_full_rebuild ... ok
[INFO] [stdout] test build::cache::tests::test_new_content_detected ... ok
[INFO] [stdout] test build::cache::tests::test_load_corrupt_json_returns_default ... ok
[INFO] [stdout] test build::cache::tests::test_scan_all_files_nonexistent_dir ... ok
[INFO] [stdout] test build::cache::tests::test_scan_md_files_nonexistent_dir ... ok
[INFO] [stdout] test build::cache::tests::test_empty_cache_triggers_full_rebuild ... ok
[INFO] [stdout] test build::cache::tests::test_no_changes_detected ... ok
[INFO] [stdout] test build::cache::tests::test_scan_md_files_only_finds_md ... ok
[INFO] [stdout] test build::cache::tests::test_snapshot_handles_missing_dirs ... ok
[INFO] [stdout] test build::cache::tests::test_snapshot_captures_all_dirs ... ok
[INFO] [stdout] test build::cache::tests::test_static_file_change_detected ... ok
[INFO] [stdout] test build::code_copy::tests::test_css_and_js_both_present ... ok
[INFO] [stdout] test build::code_copy::tests::test_injects_copy_button_when_pre_exists ... ok
[INFO] [stdout] test build::cache::tests::test_template_deleted_triggers_full_rebuild ... ok
[INFO] [stdout] test build::discovery::tests::test_llms_full_txt_empty_collection_skipped ... ok
[INFO] [stdout] test build::discovery::tests::test_llms_full_txt_basic ... ok
[INFO] [stdout] test build::code_copy::tests::test_skips_pages_without_code_blocks ... ok
[INFO] [stdout] test build::discovery::tests::test_llms_txt_basic ... ok
[INFO] [stdout] test build::discovery::tests::test_llms_txt_empty_collection_skipped ... ok
[INFO] [stdout] test build::discovery::tests::test_llms_txt_no_description ... ok
[INFO] [stdout] test build::discovery::tests::test_robots_txt_strips_trailing_slash ... ok
[INFO] [stdout] test build::discovery::tests::test_robots_txt_basic ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_author_falls_back_to_site_title ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_author_uses_configured_author ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_basic ... ok
[INFO] [stdout] test build::discovery::tests::test_llms_full_txt_no_item_description ... ok
[INFO] [stdout] test build::cache::tests::test_template_dir_removed_triggers_full_rebuild ... ok
[INFO] [stdout] test build::cache::tests::test_template_change_triggers_full_rebuild ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_empty_description_omitted ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_empty_description_no_subtitle ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_no_date ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_trailing_slash_removed ... ok
[INFO] [stdout] test build::feed::tests::test_generate_rss_basic ... ok
[INFO] [stdout] test build::feed::tests::test_generate_rss_empty_items ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_uses_updated_date ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_empty_items ... ok
[INFO] [stdout] test build::feed::tests::test_generate_rss_no_description ... ok
[INFO] [stdout] test build::feed::tests::test_generate_rss_trailing_slash_removed ... ok
[INFO] [stdout] test build::feed::tests::test_generate_rss_no_date ... ok
[INFO] [stdout] test build::images::tests::test_add_dimensions_to_tag_self_closing_preserves_format ... ok
[INFO] [stdout] test build::images::tests::test_add_dimensions_to_tag_zero_dimensions ... ok
[INFO] [stdout] test build::images::tests::test_add_dimensions_to_tag ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_img_at_end ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_img_at_start ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_multiple_images ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_preserves_non_img_content ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_no_images ... ok
[INFO] [stdout] test build::images::tests::test_add_dimensions_skips_height ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_self_closing_tags ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_to_html ... ok
[INFO] [stdout] test build::images::tests::test_add_dimensions_self_closing ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_unclosed_img ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_self_closing ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_to_tag ... ok
[INFO] [stdout] test build::images::tests::test_add_srcset_self_closing ... ok
[INFO] [stdout] test build::images::tests::test_add_srcset_to_tag ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_already_lazy_images ... ok
[INFO] [stdout] test build::code_copy::tests::test_no_body_tag_unchanged ... ok
[INFO] [stdout] test build::images::tests::test_add_srcset_to_tag_regular_closing ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_avif_only_no_webp ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_existing_dimensions ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_existing_loading_attr ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_multiple_srcset_entries ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_no_webp_with_lazy ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_self_closing_img ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_single_srcset_entry ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_webp_no_lazy ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_with_avif ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_with_webp ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_without_webp ... ok
[INFO] [stdout] test build::images::tests::test_extract_attr ... ok
[INFO] [stdout] test build::images::tests::test_extract_attr_at_end_of_tag ... ok
[INFO] [stdout] test build::images::tests::test_extract_attr_empty ... ok
[INFO] [stdout] test build::images::tests::test_extract_attr_missing ... ok
[INFO] [stdout] test build::images::tests::test_extract_attr_no_closing_quote ... ok
[INFO] [stdout] test build::images::tests::test_extract_attr_self_closing_tag ... ok
[INFO] [stdout] test build::images::tests::test_extract_attr_similar_prefix_names ... ok
[INFO] [stdout] test build::images::tests::test_extract_attr_with_special_characters_in_value ... ok
[INFO] [stdout] test build::images::tests::test_process_images_empty_static_dir ... ok
[INFO] [stdout] test build::images::tests::test_process_images_invalid_image_file ... ok
[INFO] [stdout] test build::images::tests::test_process_images_nonexistent_static_dir ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_to_tag_with_loading_lazy_already ... ok
[INFO] [stdout] test build::code_copy::tests::test_plain_code_block ... ok
[INFO] [stdout] test build::analytics::tests::test_no_body_tag_consent_unchanged ... ok
[INFO] [stdout] test build::images::tests::test_process_images_skips_non_image_files ... ok
[INFO] [stdout] test build::images::tests::test_process_images_empty_widths ... ok
[INFO] [stdout] test build::images::tests::test_processed_image_clone ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_consecutive_img_tags ... ok
[INFO] [stdout] test build::images::tests::test_processed_image_debug ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_empty_html ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_empty_html_with_manifest ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_empty_manifest_no_lazy ... ok
[INFO] [stdout] test build::images::tests::test_process_images_no_webp_config ... ok
[INFO] [stdout] test build::images::tests::test_process_images_skips_widths_larger_than_original ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_full_pipeline_webp ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_image_in_manifest ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_image_not_in_manifest_lazy ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_image_not_in_manifest_no_lazy ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_malformed_unclosed_tag ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_empty_manifest_with_lazy ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_multiple_mixed ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_no_img_tags ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_no_src_attribute ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_preserves_surrounding_content ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_self_closing_img_in_manifest ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_text_containing_img_string ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_three_images_one_in_manifest ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_with_avif_entries ... ok
[INFO] [stdout] test build::links::tests::test_build_valid_urls ... ok
[INFO] [stdout] test build::images::tests::test_process_images_jpeg_format ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_only_text_after_last_img ... ok
[INFO] [stdout] test build::images::tests::test_process_images_webp_input_no_webp_variants ... ok
[INFO] [stdout] test build::images::tests::test_process_images_subdirectory ... ok
[INFO] [stdout] test build::links::tests::test_check_internal_links_all_valid ... ok
[INFO] [stdout] test build::links::tests::test_check_internal_links_detects_broken ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_basic ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_deduplicates ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_ignores_external ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_ignores_protocol_relative ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_includes_non_anchor_hrefs ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_single_quotes ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_strips_fragment ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_strips_query ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_basic ... ok
[INFO] [stdout] test build::links::tests::test_group_broken_links ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_index ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_multiple_prefixes ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_no_false_prefix_match ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_preserves_fragment ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_preserves_query ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_empty_map ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_single_quotes ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_skips_external ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_skips_non_matching ... ok
[INFO] [stdout] test build::markdown::tests::test_resolve_lang_alias ... ok
[INFO] [stdout] test build::markdown::tests::test_slugify_heading ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_ignores_relative ... ok
[INFO] [stdout] test build::images::tests::test_process_images_real_png_image ... ok
[INFO] [stdout] test build::math::tests::test_render_math_display_multiline ... ok
[INFO] [stdout] test build::math::tests::test_render_math_display ... ok
[INFO] [stdout] test build::math::tests::test_render_math_dollar_followed_by_newline ... ok
[INFO] [stdout] test build::math::tests::test_render_math_fenced_inner_shorter_fence ... ok
[INFO] [stdout] test build::math::tests::test_render_math_fenced_longer_closing ... ok
[INFO] [stdout] test build::math::tests::test_render_math_fenced_eof_inside_fence ... ok
[INFO] [stdout] test build::math::tests::test_render_math_fenced_with_info_string ... ok
[INFO] [stdout] test build::math::tests::test_render_math_inline ... ok
[INFO] [stdout] test build::math::tests::test_render_math_inline_hits_newline_before_close ... ok
[INFO] [stdout] test build::math::tests::test_render_math_inline_trailing_space ... ok
[INFO] [stdout] test build::math::tests::test_render_math_no_space_after_dollar ... ok
[INFO] [stdout] test build::math::tests::test_render_math_passthrough_no_math ... ok
[INFO] [stdout] test build::math::tests::test_render_math_preserves_escaped_dollar ... ok
[INFO] [stdout] test build::math::tests::test_render_math_skips_code_blocks ... ok
[INFO] [stdout] test build::math::tests::test_render_math_skips_inline_code ... ok
[INFO] [stdout] test build::math::tests::test_render_math_unclosed_display ... ok
[INFO] [stdout] test build::math::tests::test_render_math_unclosed_inline ... ok
[INFO] [stdout] test build::redirects::tests::test_generate_redirects_basic ... ok
[INFO] [stdout] test build::math::tests::test_render_math_fenced_tildes ... ok
[INFO] [stdout] test build::redirects::tests::test_html_escape_in_redirect ... ok
[INFO] [stdout] test build::redirects::tests::test_generate_redirects_empty ... ok
[INFO] [stdout] test build::redirects::tests::test_redirect_html_content ... ok
[INFO] [stdout] test build::redirects::tests::test_root_alias_skipped ... ok
[INFO] [stdout] test build::sitemap::tests::test_generate_sitemap_basic ... ok
[INFO] [stdout] test build::sitemap::tests::test_generate_sitemap_empty ... ok
[INFO] [stdout] test build::sitemap::tests::test_generate_sitemap_extra_urls ... ok
[INFO] [stdout] test build::sitemap::tests::test_generate_sitemap_multilingual ... ok
[INFO] [stdout] test build::sitemap::tests::test_generate_sitemap_multiple_items ... ok
[INFO] [stdout] test build::redirects::tests::test_path_traversal_rejected ... ok
[INFO] [stdout] test build::sitemap::tests::test_generate_sitemap_strips_trailing_slash ... ok
[INFO] [stdout] test build::sitemap::tests::test_generate_sitemap_with_translations ... ok
[INFO] [stdout] test build::tests::test_absolutize_image_absolute_url ... ok
[INFO] [stdout] test build::tests::test_absolutize_image_http_url ... ok
[INFO] [stdout] test build::tests::test_absolutize_image_none ... ok
[INFO] [stdout] test build::tests::test_absolutize_image_relative_path ... ok
[INFO] [stdout] test build::tests::test_adjacent_post_none_fields ... ok
[INFO] [stdout] test build::tests::test_adjacent_post_serialization ... ok
[INFO] [stdout] test build::tests::test_build_page_context_no_image ... ok
[INFO] [stdout] test build::tests::test_build_page_context_populates_required_fields ... ok
[INFO] [stdout] test build::tests::test_build_stats_human_display_basic ... ok
[INFO] [stdout] test build::tests::test_build_stats_human_display_incremental ... ok
[INFO] [stdout] test build::tests::test_build_stats_human_display_with_public_and_data ... ok
[INFO] [stdout] test build::tests::test_build_stats_human_display_with_step_timings ... ok
[INFO] [stdout] test build::tests::test_build_url_empty_prefix ... ok
[INFO] [stdout] test build::tests::test_build_url_nested_slug ... ok
[INFO] [stdout] test build::tests::test_build_url_trailing_slash_on_prefix ... ok
[INFO] [stdout] test build::tests::test_build_url_with_only_slash_prefix ... ok
[INFO] [stdout] test build::tests::test_build_url_with_prefix ... ok
[INFO] [stdout] test build::tests::test_collection_context_serialization ... ok
[INFO] [stdout] test build::tests::test_fnv_hash8_deterministic ... ok
[INFO] [stdout] test build::tests::test_fnv_hash8_different_inputs_differ ... ok
[INFO] [stdout] test build::tests::test_fnv_hash8_empty_input ... ok
[INFO] [stdout] test build::tests::test_fnv_hash8_known_value ... ok
[INFO] [stdout] test build::tests::test_generate_collection_index_md_basic ... ok
[INFO] [stdout] test build::tests::test_generate_collection_index_md_empty_description_skipped ... ok
[INFO] [stdout] test build::tests::test_generate_collection_index_md_empty_items ... ok
[INFO] [stdout] test build::tests::test_generate_collection_index_md_multiple_items ... ok
[INFO] [stdout] test build::tests::test_generate_collection_index_md_no_date_no_description ... ok
[INFO] [stdout] test build::tests::test_generate_search_index_empty_items ... ok
[INFO] [stdout] test build::tests::test_generate_search_index_excludes_unlisted_collections ... ok
[INFO] [stdout] test build::tests::test_generate_search_index_includes_listed_collections ... ok
[INFO] [stdout] test build::tests::test_generate_search_index_mixed_listed_unlisted ... ok
[INFO] [stdout] test build::tests::test_insert_i18n_context_default_lang ... ok
[INFO] [stdout] test build::tests::test_insert_i18n_context_non_default_lang ... ok
[INFO] [stdout] test build::tests::test_lang_prefix_for_another_language ... ok
[INFO] [stdout] test build::images::tests::test_process_images_srcset_sorted_by_width ... ok
[INFO] [stdout] test build::images::tests::test_process_images_multiple_images ... ok
[INFO] [stdout] test build::tests::test_lang_prefix_for_non_default_language ... ok
[INFO] [stdout] test build::sitemap::tests::test_generate_sitemap_with_lastmod ... ok
[INFO] [stdout] test build::tests::test_minify_css_collapses_whitespace ... ok
[INFO] [stdout] test build::tests::test_minify_css_handles_empty_input ... ok
[INFO] [stdout] test build::tests::test_minify_css_nested_comment ... ok
[INFO] [stdout] test build::tests::test_minify_css_multiple_rules ... ok
[INFO] [stdout] test build::tests::test_minify_css_only_comment ... ok
[INFO] [stdout] test build::tests::test_minify_css_only_whitespace ... ok
[INFO] [stdout] test build::markdown::tests::test_strikethrough ... ok
[INFO] [stdout] test build::markdown::tests::test_table ... ok
[INFO] [stdout] test build::markdown::tests::test_task_list ... ok
[INFO] [stdout] test build::markdown::tests::test_toc_empty_for_no_headings ... ok
[INFO] [stdout] test build::tests::test_minify_css_preserves_content_without_spaces ... ok
[INFO] [stdout] test build::tests::test_lang_prefix_for_default_language ... ok
[INFO] [stdout] test build::markdown::tests::test_unknown_language_falls_back ... ok
[INFO] [stdout] test build::markdown::tests::test_footnotes ... ok
[INFO] [stdout] test build::markdown::tests::test_toc_multiple_headings ... ok
[INFO] [stdout] test build::markdown::tests::test_plain_code_block_no_lang ... ok
[INFO] [stdout] test build::tests::test_minify_css_multiline ... ok
[INFO] [stdout] test build::markdown::tests::test_basic_markdown ... ok
[INFO] [stdout] test build::tests::test_minify_css_removes_comments ... ok
[INFO] [stdout] test build::tests::test_minify_js_multiple_comments ... ok
[INFO] [stdout] test build::tests::test_minify_js_comment_at_start_of_line ... ok
[INFO] [stdout] test build::tests::test_minify_js_empty_input ... ok
[INFO] [stdout] test build::tests::test_minify_js_preserves_comments_in_strings ... ok
[INFO] [stdout] test build::tests::test_minify_js_preserves_single_quoted_string_with_slashes ... ok
[INFO] [stdout] test build::tests::test_minify_js_removes_blank_lines ... ok
[INFO] [stdout] test build::tests::test_nav_item_serialization ... ok
[INFO] [stdout] test build::tests::test_minify_js_removes_line_comments ... ok
[INFO] [stdout] test build::tests::test_nav_section_serialization ... ok
[INFO] [stdout] test build::tests::test_page_context_serialization_complete ... ok
[INFO] [stdout] test build::tests::test_page_context_serialization_minimal ... ok
[INFO] [stdout] test build::tests::test_pagination_context_serialization_first_page ... ok
[INFO] [stdout] test build::tests::test_pagination_context_serialization_last_page ... ok
[INFO] [stdout] test build::tests::test_parse_date_from_filename_no_extension ... ok
[INFO] [stdout] test build::tests::test_parse_date_from_filename_malformed_date ... ok
[INFO] [stdout] test build::tests::test_pagination_context_serialization_middle_page ... ok
[INFO] [stdout] test build::tests::test_parse_date_from_filename_exact_ten_chars ... ok
[INFO] [stdout] test build::tests::test_parse_date_from_filename_valid ... ok
[INFO] [stdout] test build::tests::test_plausible_no_warning_for_other_providers ... ok
[INFO] [stdout] test build::tests::test_parse_date_from_filename_short_stem ... ok
[INFO] [stdout] test build::tests::test_plausible_no_warning_when_none ... ok
[INFO] [stdout] test build::tests::test_plausible_no_warning_with_script_url ... ok
[INFO] [stdout] test build::tests::test_plausible_no_warning_without_extensions ... ok
[INFO] [stdout] test build::tests::test_plausible_warning_with_legacy_extensions ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_date_prefix_exact_boundary ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_explicit_slug_overrides ... ok
[INFO] [stdout] test build::markdown::tests::test_code_block_highlighted ... ok
[INFO] [stdout] test build::markdown::tests::test_syntax_highlighting_produces_styled_output ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_i18n_date_collection_with_lang ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_i18n_no_lang_suffix ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_i18n_non_matching_suffix_preserved ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_i18n_explicit_slug_passthrough ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_i18n_with_parent_dir ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_nested_deep_path ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_nested_collection ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_nested_root_file ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_no_date_strip_for_non_date_collections ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_no_extension ... ok
[INFO] [stdout] test build::markdown::tests::test_powershell_code_block_gets_highlighted ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_short_date_prefix_not_stripped ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_simple_filename ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_strips_date_prefix_for_date_collections ... ok
[INFO] [stdout] test build::tests::test_search_entry_serialization_no_description ... ok
[INFO] [stdout] test build::tests::test_search_entry_serialization ... ok
[INFO] [stdout] test build::tests::test_site_context_base_path_root ... ok
[INFO] [stdout] test build::tests::test_site_context_base_path_subpath ... ok
[INFO] [stdout] test build::tests::test_site_context_for_lang_default ... ok
[INFO] [stdout] test build::tests::test_site_context_for_lang_no_override ... ok
[INFO] [stdout] test build::tests::test_site_context_for_lang_with_override ... ok
[INFO] [stdout] test build::tests::test_site_context_from_config ... ok
[INFO] [stdout] test build::tests::test_title_case_already_capitalized ... ok
[INFO] [stdout] test build::tests::test_title_case_empty ... ok
[INFO] [stdout] test build::tests::test_title_case_hyphenated ... ok
[INFO] [stdout] test build::tests::test_title_case_multiple_hyphens ... ok
[INFO] [stdout] test build::tests::test_title_case_single_char_words ... ok
[INFO] [stdout] test build::tests::test_title_case_single_word ... ok
[INFO] [stdout] test build::tests::test_translation_link_serialization ... ok
[INFO] [stdout] test build::tests::test_ui_strings_for_lang_defaults ... ok
[INFO] [stdout] test build::tests::test_ui_strings_for_lang_i18n_not_object ... ok
[INFO] [stdout] test build::tests::test_ui_strings_for_lang_with_overrides ... ok
[INFO] [stdout] test build::tests::test_url_to_md_path_basic ... ok
[INFO] [stdout] test build::tests::test_url_to_md_path_strips_slashes ... ok
[INFO] [stdout] test build::tests::test_url_to_md_path_with_lang_prefix ... ok
[INFO] [stdout] test build::tests::test_url_to_output_path_basic ... ok
[INFO] [stdout] test build::tests::test_url_to_output_path_strips_slashes ... ok
[INFO] [stdout] test build::tests::test_ui_strings_for_lang_no_matching_lang ... ok
[INFO] [stdout] test build::tests::test_url_to_output_path_with_lang_prefix ... ok
[INFO] [stdout] test cli::perf::tests::test_fetch_psi_url_encoding ... ok
[INFO] [stdout] test cli::perf::tests::test_is_local_url_public ... ok
[INFO] [stdout] test cli::perf::tests::test_run_for_deploy_skips_localhost ... ok
[INFO] [stdout] test cli::perf::tests::test_is_local_url_loopback ... ok
[INFO] [stdout] test cli::self_update::tests::test_archive_name_construction ... ok
[INFO] [stdout] test cli::perf::tests::test_is_local_url_localhost ... ok
[INFO] [stdout] test cli::perf::tests::test_resolve_url_explicit_strips_trailing_slash ... ok
[INFO] [stdout] test cli::self_update::tests::test_backup_path_extension_already_has_ext ... ok
[INFO] [stdout] test cli::self_update::tests::test_backup_path_extension ... ok
[INFO] [stdout] test cli::agent::tests::test_build_system_prompt_contains_site_info ... ok
[INFO] [stdout] test cli::self_update::tests::test_checksums_url_construction ... ok
[INFO] [stdout] test cli::agent::tests::test_build_system_prompt_with_context_files ... ok
[INFO] [stdout] test cli::self_update::tests::test_detect_target_triple ... ok
[INFO] [stdout] test cli::perf::tests::test_resolve_url_explicit_no_slash ... ok
[INFO] [stdout] test cli::self_update::tests::test_download_base_constant ... ok
[INFO] [stdout] test cli::self_update::tests::test_download_url_construction ... ok
[INFO] [stdout] test cli::self_update::tests::test_detect_target_triple_deterministic ... ok
[INFO] [stdout] test cli::self_update::tests::test_detect_target_triple_format ... ok
[INFO] [stdout] test cli::self_update::tests::test_direction_downgrade ... ok
[INFO] [stdout] test cli::self_update::tests::test_direction_upgrade ... ok
[INFO] [stdout] test cli::self_update::tests::test_replace_binary_nonexistent_current ... ok
[INFO] [stdout] test cli::self_update::tests::test_self_update_args_default ... ok
[INFO] [stdout] test cli::self_update::tests::test_github_api_url ... ok
[INFO] [stdout] test cli::self_update::tests::test_repo_constant ... ok
[INFO] [stdout] test cli::self_update::tests::test_self_update_args_with_version ... ok
[INFO] [stdout] test cli::self_update::tests::test_self_update_args_check_mode ... ok
[INFO] [stdout] test build::tests::test_ui_strings_for_lang_contains_all_expected_keys ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_incremental ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_known_value_hello ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_large_input ... ok
[INFO] [stdout] test cli::self_update::tests::test_extract_binary_missing_seite_in_archive ... ok
[INFO] [stdout] test cli::self_update::tests::test_tag_normalization_with_v_prefix ... ok
[INFO] [stdout] test cli::self_update::tests::test_tag_normalization_without_v_prefix ... ok
[INFO] [stdout] test cli::self_update::tests::test_tag_trim_multiple_v_prefix ... ok
[INFO] [stdout] test cli::self_update::tests::test_tag_trim_no_v_prefix ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_single_byte ... ok
[INFO] [stdout] test cli::self_update::tests::test_url_construction_various_tags ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_archive_not_on_disk ... ok
[INFO] [stdout] test cli::self_update::tests::test_tag_trim_v_prefix ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_checksums_file_not_on_disk ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_empty_checksums_file ... ok
[INFO] [stderr] 
[INFO] [stderr] gzip: stdin: not in gzip format
[INFO] [stderr] tar: Child returned status 1
[INFO] [stderr] tar: Error is not recoverable: exiting now
[INFO] [stdout] test build::tests::test_resolve_slug_i18n_strips_lang_suffix ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_basic ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_different_inputs_differ ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_mismatch ... ok
[INFO] [stdout] test cli::self_update::tests::test_extract_binary_invalid_archive ... ok
[INFO] [stdout] test cli::self_update::tests::test_replace_binary_sets_executable_permission ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_missing_archive_name ... ok
[INFO] [stdout] test cli::self_update::tests::test_replace_binary_preserves_new_binary ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_deterministic ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_binary_data ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_equal ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_leading_zeros ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_multiple_incremental_updates ... ok
[INFO] [stdout] test cli::self_update::tests::test_replace_binary_basic ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_major_dominates ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_known_value_hello_world ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_empty ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_single_space_separator ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_with_path_prefix_in_checksums ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_success ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_empty_strings ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_large_numbers ... ok
[INFO] [stdout] test cli::skill::tests::test_append_claude_md_no_existing_file ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_first_match_wins ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_malformed ... ok
[INFO] [stdout] test cli::skill::tests::test_derive_skill_name_from_url ... ok
[INFO] [stdout] test cli::skill::tests::test_derive_skill_name_no_extension ... ok
[INFO] [stdout] test cli::skill::tests::test_derive_skill_name_override ... ok
[INFO] [stdout] test cli::skill::tests::test_derive_skill_name_plain_md ... ok
[INFO] [stdout] test cli::skill::tests::test_derive_skill_name_trailing_slash ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_newer_minor ... ok
[INFO] [stdout] test cli::skill::tests::test_ensure_gitignore_entries ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_newer_major ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_newer_patch ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_non_numeric_parts ... ok
[INFO] [stdout] test cli::skill::tests::test_claude_md_section_add_and_remove ... ok
[INFO] [stdout] test cli::skill::tests::test_ensure_gitignore_appends_to_existing ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_older_patch ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_one_part ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_two_parts ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_zeros ... ok
[INFO] [stdout] test cli::skill::tests::test_ensure_gitignore_skips_existing_entry ... ok
[INFO] [stdout] test cli::self_update::tests::test_extract_binary_valid_archive ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_minor_dominates_patch ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_extra_parts_ignored ... ok
[INFO] [stdout] test cli::skill::tests::test_append_claude_md_idempotent ... ok
[INFO] [stdout] test cli::skill::tests::test_extract_title_empty_title ... ok
[INFO] [stdout] test cli::skill::tests::test_extract_title_from_file ... ok
[INFO] [stdout] test cli::skill::tests::test_extract_title_single_quotes ... ok
[INFO] [stdout] test cli::skill::tests::test_find_known_pack ... ok
[INFO] [stdout] test cli::skill::tests::test_extract_title_no_frontmatter ... ok
[INFO] [stdout] test cli::skill::tests::test_gather_skill_summary_context_files ... ok
[INFO] [stdout] test cli::skill::tests::test_generate_internal_links_map_empty ... ok
[INFO] [stdout] test cli::skill::tests::test_gather_skill_summary_empty ... ok
[INFO] [stdout] test cli::skill::tests::test_generate_internal_links_map_nested_docs ... ok
[INFO] [stdout] test cli::skill::tests::test_gather_skill_summary_unknown_pack ... ok
[INFO] [stdout] test cli::skill::tests::test_gather_skill_summary_with_manifest ... ok
[INFO] [stdout] test cli::skill::tests::test_remove_claude_md_section_no_markers ... ok
[INFO] [stdout] test cli::skill::tests::test_generate_internal_links_map_multiple_collections ... ok
[INFO] [stdout] test cli::skill::tests::test_generate_internal_links_map_with_content ... ok
[INFO] [stdout] test cli::skill::tests::test_generate_internal_links_map_skips_index ... ok
[INFO] [stdout] test cli::skill::tests::test_remove_nonexistent ... ok
[INFO] [stdout] test cli::skill::tests::test_extract_title_unquoted ... ok
[INFO] [stdout] test cli::skill::tests::test_known_packs_seomachine_completeness ... ok
[INFO] [stdout] test cli::skill::tests::test_load_manifest_corrupt_json ... ok
[INFO] [stdout] test cli::skill::tests::test_remove_custom_skill ... ok
[INFO] [stdout] test cli::skill::tests::test_load_manifest_missing_file ... ok
[INFO] [stdout] test cli::skill::tests::test_run_install_unknown_source ... ok
[INFO] [stdout] test cli::skill::tests::test_run_list_no_skills_dir ... ok
[INFO] [stdout] test cli::skill::tests::test_seite_publish_draft_command_content ... ok
[INFO] [stdout] test cli::skill::tests::test_raw_github_url ... ok
[INFO] [stdout] test cli::skill::tests::test_manifest_roundtrip ... ok
[INFO] [stdout] test cli::skill::tests::test_gather_skill_summary_custom_skills ... ok
[INFO] [stdout] test cli::skill::tests::test_remove_pack_cleans_files_and_manifest ... ok
[INFO] [stdout] test cli::skill::tests::test_seite_context_preamble_nonempty ... ok
[INFO] [stdout] test cli::skill::tests::test_strip_date_prefix ... ok
[INFO] [stdout] test cli::skill::tests::test_strip_date_prefix_edge_cases ... ok
[INFO] [stdout] test cli::skill::tests::test_validate_skill_name ... ok
[INFO] [stdout] test cli::skill::tests::test_scaffold_requirements ... ok
[INFO] [stdout] test cli::skill::tests::test_validate_skill_name_with_separator ... ok
[INFO] [stdout] test cli::skill::tests::test_scaffold_env_example ... ok
[INFO] [stdout] test cli::theme::tests::test_build_theme_prompt_contains_required_blocks ... ok
[INFO] [stdout] test cli::theme::tests::test_build_theme_prompt_contains_search_pattern ... ok
[INFO] [stdout] test cli::theme::tests::test_build_theme_prompt_contains_template_variables ... ok
[INFO] [stdout] test cli::tests::test_build_cli_has_subcommands ... ok
[INFO] [stdout] test cli::theme::tests::test_build_theme_prompt_contains_user_input ... ok
[INFO] [stdout] test cli::theme::tests::test_derive_name_from_url_no_extension ... ok
[INFO] [stdout] test cli::self_update::tests::test_checksum_round_trip_various_contents ... ok
[INFO] [stdout] test cli::theme::tests::test_derive_name_bare_domain ... ok
[INFO] [stdout] test cli::theme::tests::test_export_content_default_description ... ok
[INFO] [stdout] test cli::theme::tests::test_derive_name_from_html_url ... ok
[INFO] [stdout] test cli::theme::tests::test_derive_name_from_tera_url ... ok
[INFO] [stdout] test cli::theme::tests::test_derive_name_url_with_query_string ... ok
[INFO] [stdout] test cli::theme::tests::test_derive_name_override_takes_precedence ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_content_doctype ... ok
[INFO] [stdout] test cli::theme::tests::test_save_installed_theme_creates_dirs ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_content_doctype_lowercase ... ok
[INFO] [stdout] test cli::theme::tests::test_save_installed_theme ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_content_empty ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_content_html_tag_only ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_content_not_html ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_atom_autodiscovery_needs_hint ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_name_empty ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_atom_autodiscovery_no_custom_template ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_atom_aliases_docs_needs_section ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_name_with_separator ... ok
[INFO] [stdout] test cli::theme::tests::test_export_content_with_description ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_atom_aliases_docs_no_claude_md ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_atom_aliases_docs_already_documented ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_name_valid ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_name_with_dot_dot ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_claude_md_mcp_already_has_section ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_atom_autodiscovery_no_rss_either ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_brand_identity_skill_missing ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_claude_md_mcp_needs_section ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_claude_md_mcp_no_file ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_brand_identity_skill_outdated ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_atom_autodiscovery_already_present ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_version_unpinning_both_workflow_and_netlify ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_workflows_old_cargo_install ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_version_unpinning_removes_version ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_contact_form_docs_needs_section ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_version_unpinning_github_pages ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_version_unpinning_cloudflare ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_version_unpinning_already_unpinned ... ok
[INFO] [stdout] test cli::tests::test_build_cli_returns_valid_command ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_contact_form_docs_no_claude_md ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_version_unpinning_netlify_toml ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_workflows_no_workflow ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_landing_page_skill_no_pages_collection ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_mcp_server_has_mcp_but_no_seite ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_mcp_server_has_settings_no_mcp ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_page_meta_missing ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_minify_default_skips_without_build_section ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_mcp_server_already_has_seite ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_version_pinning_is_noop ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_mcp_server_malformed_json ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_public_dir_exists ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_subdomain_workflow_no_seite_toml ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_theme_builder_skill_missing ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_contact_form_docs_already_has_section ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_subdomain_workflow_no_workflow ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_theme_builder_skill_up_to_date ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_subdomain_workflow_already_has_steps ... ok
[INFO] [stdout] test cli::upgrade::tests::test_extract_skill_version_found ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_version_unpinning_no_seite_toml ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_subdomain_workflow_netlify_target ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_landing_page_skill_with_pages ... ok
[INFO] [stdout] test cli::upgrade::tests::test_extract_skill_version_not_found ... ok
[INFO] [stdout] test cli::upgrade::tests::test_extract_skill_version_with_spaces ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_minify_default_injects_when_missing ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_mcp_server_no_claude_dir ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_minify_default_skips_when_already_set ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_public_dir_missing ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_brand_identity_skill_up_to_date ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_page_meta_exists ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_subdomain_workflow_github_pages_skipped ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_subdomain_workflow_no_deploy_project ... ok
[INFO] [stdout] test cli::upgrade::tests::test_upgrade_action_describe_append ... ok
[INFO] [stdout] test cli::upgrade::tests::test_extract_skill_version_invalid_number ... ok
[INFO] [stdout] test cli::upgrade::tests::test_upgrade_action_describe_create ... ok
[INFO] [stdout] test cli::upgrade::tests::test_upgrade_action_describe_merge_json ... ok
[INFO] [stdout] test cli::upgrade::tests::test_upgrade_steps_all_have_labels ... ok
[INFO] [stdout] test cli::upgrade::tests::test_upgrade_steps_ordered_by_version ... ok
[INFO] [stdout] test config::defaults::tests::test_avif_quality ... ok
[INFO] [stdout] test config::defaults::tests::test_base_url ... ok
[INFO] [stdout] test config::defaults::tests::test_bool_true ... ok
[INFO] [stdout] test config::defaults::tests::test_content_dir ... ok
[INFO] [stdout] test config::defaults::tests::test_public_dir ... ok
[INFO] [stdout] test config::defaults::tests::test_static_dir ... ok
[INFO] [stdout] test config::defaults::tests::test_template_dir ... ok
[INFO] [stdout] test config::tests::test_base_domain_https ... ok
[INFO] [stdout] test config::tests::test_base_domain_http_localhost ... ok
[INFO] [stdout] test config::tests::test_has_subdomains_true ... ok
[INFO] [stdout] test config::tests::test_subdomain_base_url_explicit_override ... ok
[INFO] [stdout] test config::tests::test_subdomain_base_url_explicit_strips_trailing_slash ... ok
[INFO] [stdout] test config::tests::test_subdomain_collections_filter ... ok
[INFO] [stdout] test config::tests::test_subdomain_output_path ... ok
[INFO] [stdout] test config::tests::test_validate_deploy_project_without_subdomain ... ok
[INFO] [stdout] test config::tests::test_validate_subdomain_base_url_without_subdomain ... ok
[INFO] [stdout] test config::tests::test_validate_subdomain_base_url_invalid_scheme ... ok
[INFO] [stdout] test config::tests::test_subdomain_config_deserialization ... ok
[INFO] [stdout] test config::defaults::tests::test_language ... ok
[INFO] [stdout] test config::defaults::tests::test_image_quality ... ok
[INFO] [stdout] test config::defaults::tests::test_data_dir ... ok
[INFO] [stdout] test config::defaults::tests::test_image_widths ... ok
[INFO] [stdout] test config::defaults::tests::test_output_dir ... ok
[INFO] [stdout] test config::tests::test_validate_subdomains_duplicate ... ok
[INFO] [stdout] test config::tests::test_validate_subdomains_ok ... ok
[INFO] [stdout] test content::tests::test_extract_excerpt_blank_first_paragraph ... ok
[INFO] [stdout] test content::tests::test_extract_excerpt_empty ... ok
[INFO] [stdout] test content::tests::test_extract_excerpt_first_paragraph ... ok
[INFO] [stdout] test content::tests::test_extract_excerpt_more_marker_at_start ... ok
[INFO] [stdout] test content::tests::test_extract_excerpt_more_marker ... ok
[INFO] [stdout] test content::tests::test_extract_lang_from_filename_no_extension ... ok
[INFO] [stdout] test content::tests::test_extract_lang_from_filename ... ok
[INFO] [stdout] test content::tests::test_frontmatter_includes_draft_when_true ... ok
[INFO] [stdout] test content::tests::test_extract_excerpt_single_paragraph ... ok
[INFO] [stdout] test content::tests::test_is_false_helper ... ok
[INFO] [stdout] test content::tests::test_slug_from_title_special_chars ... ok
[INFO] [stdout] test content::tests::test_slug_from_title_unicode ... ok
[INFO] [stdout] test content::tests::test_slug_generation ... ok
[INFO] [stdout] test content::tests::test_split_frontmatter_body_with_newlines ... ok
[INFO] [stdout] test content::tests::test_frontmatter_skips_empty_fields ... ok
[INFO] [stdout] test content::tests::test_generate_frontmatter_with_all_fields ... ok
[INFO] [stdout] test content::tests::test_generate_and_parse_frontmatter ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_subdomain_workflow_missing_steps ... ok
[INFO] [stdout] test content::tests::test_parse_content_file_real ... ok
[INFO] [stdout] test content::tests::test_parse_content_file_missing ... ok
[INFO] [stdout] test content::tests::test_split_frontmatter_unclosed ... ok
[INFO] [stdout] test content::tests::test_parse_content_file_no_frontmatter ... ok
[INFO] [stdout] test content::tests::test_split_frontmatter_with_leading_whitespace ... ok
[INFO] [stdout] test content::tests::test_split_frontmatter_missing ... ok
[INFO] [stdout] test content::tests::test_strip_lang_suffix ... ok
[INFO] [stdout] test content::tests::test_split_frontmatter_valid ... ok
[INFO] [stdout] test data::tests::test_check_conflicts_no_conflict ... ok
[INFO] [stdout] test data::tests::test_check_conflicts_with_conflict ... ok
[INFO] [stdout] test data::tests::test_conflict_detection ... ok
[INFO] [stdout] test data::tests::test_insert_nested_empty_segments ... ok
[INFO] [stdout] test data::tests::test_insert_nested_multiple_segments ... ok
[INFO] [stdout] test data::tests::test_insert_nested_single_segment ... ok
[INFO] [stdout] test content::tests::test_strip_lang_suffix_multiple_dots ... ok
[INFO] [stdout] test data::tests::test_count_data_files ... ok
[INFO] [stdout] test data::tests::test_count_data_files_missing_dir ... ok
[INFO] [stdout] test data::tests::test_load_json ... ok
[INFO] [stdout] test data::tests::test_missing_dir_returns_empty ... ok
[INFO] [stdout] test data::tests::test_load_toml ... ok
[INFO] [stdout] test data::tests::test_load_toml_nested_tables ... ok
[INFO] [stdout] test data::tests::test_load_yaml_object ... ok
[INFO] [stdout] test data::tests::test_deeply_nested_directory ... ok
[INFO] [stdout] test data::tests::test_nested_directories ... ok
[INFO] [stdout] test data::tests::test_load_yaml ... ok
[INFO] [stdout] test data::tests::test_empty_dir_returns_empty ... ok
[INFO] [stdout] test data::tests::test_count_data_files_nested ... ok
[INFO] [stdout] test data::tests::test_parse_data_file_invalid_json ... ok
[INFO] [stdout] test data::tests::test_parse_data_file_invalid_yaml ... ok
[INFO] [stdout] test data::tests::test_parse_data_file_unsupported_extension ... ok
[INFO] [stdout] test data::tests::test_parse_data_file_invalid_toml ... ok
[INFO] [stdout] test data::tests::test_unknown_extension_skipped ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_0000 ... ok
[INFO] [stdout] test config::tests::test_has_subdomains_false ... ok
[INFO] [stdout] test config::tests::test_main_site_collections_filter ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_0000_with_different_port ... ok
[INFO] [stdout] test config::tests::test_subdomain_base_url ... ok
[INFO] [stdout] test config::tests::test_subdomain_base_url_http ... ok
[INFO] [stdout] test config::tests::test_base_domain_with_path ... ok
[INFO] [stdout] test data::tests::test_load_yml_extension ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_127 ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_ip_address_not_localhost ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_localhost_message_mentions_base_url ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_production ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_production_contains_url_in_message ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_with_subdomain ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_with_https_and_path ... ok
[INFO] [stdout] test deploy::tests::test_check_cloudflare_domain_no_domain ... ok
[INFO] [stdout] test deploy::tests::test_check_cloudflare_domain_name_field ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_url_with_localhost_substring ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_localhost ... ok
[INFO] [stdout] test deploy::tests::test_check_cloudflare_domain_no_project ... ok
[INFO] [stdout] test deploy::tests::test_check_cloudflare_auth_name_field ... ok
[INFO] [stdout] test deploy::tests::test_check_cloudflare_domain_with_domain_and_project ... ok
[INFO] [stdout] test deploy::tests::test_check_git_remote_configured_name_field ... ok
[INFO] [stdout] test deploy::tests::test_check_git_remote_with_configured_repo ... ok
[INFO] [stdout] test deploy::tests::test_check_cloudflare_project_no_project_no_wrangler ... ok
[INFO] [stdout] test deploy::tests::test_check_netlify_site_with_project ... ok
[INFO] [stdout] test deploy::tests::test_check_output_dir_missing ... ok
[INFO] [stdout] test deploy::tests::test_check_output_dir_empty ... ok
[INFO] [stdout] test deploy::tests::test_check_netlify_domain_no_domain ... ok
[INFO] [stdout] test deploy::tests::test_cloudflare_workflow_no_subdomain ... ok
[INFO] [stdout] test deploy::tests::test_check_output_dir_name_field ... ok
[INFO] [stdout] test deploy::tests::test_check_netlify_domain_name_field ... ok
[INFO] [stdout] test deploy::tests::test_check_output_dir_with_files ... ok
[INFO] [stdout] test deploy::tests::test_check_output_dir_pass_message_contains_path ... ok
[INFO] [stdout] test deploy::tests::test_check_netlify_auth_name_field ... ok
[INFO] [stdout] test deploy::tests::test_check_git_repo_with_git_dir ... ok
[INFO] [stdout] test deploy::tests::test_check_cloudflare_project_with_configured_project ... ok
[INFO] [stdout] test deploy::tests::test_check_netlify_site_with_state_file ... ok
[INFO] [stdout] test deploy::tests::test_cloudflare_workflow_includes_subdomain_deploy ... ok
[INFO] [stdout] test deploy::tests::test_check_netlify_site_name_field ... ok
[INFO] [stdout] test deploy::tests::test_detect_cloudflare_project_fallback_dir_name ... ok
[INFO] [stdout] test deploy::tests::test_detect_cloudflare_project_from_wrangler_toml ... ok
[INFO] [stdout] test deploy::tests::test_detect_cloudflare_project_from_wrangler_toml_single_quotes ... ok
[INFO] [stdout] test deploy::tests::test_detect_cloudflare_project_wrangler_toml_empty_name ... ok
[INFO] [stdout] test deploy::tests::test_detect_cloudflare_project_wrangler_toml_commented_name ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_https_trailing_slash ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_https_with_git_suffix ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_non_github_url ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_none ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_empty_repo_string ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_ssh_no_repo ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_ssh ... ok
[INFO] [stdout] test deploy::tests::test_detect_cloudflare_project_wrangler_toml_name_not_first_line ... ok
[INFO] [stdout] test deploy::tests::test_detect_cloudflare_project_wrangler_toml_with_spaces_around_equals ... ok
[INFO] [stdout] test deploy::tests::test_detect_cloudflare_project_wrangler_toml_no_value_after_equals ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_https ... ok
[INFO] [stdout] test deploy::tests::test_domain_is_not_apex_two_dots ... ok
[INFO] [stdout] test deploy::tests::test_domain_no_dots_is_apex ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_cloudflare ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_cloudflare_apex_creates_two_cnames ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_cloudflare_notes_mention_ssl ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_cloudflare_no_project_uses_placeholder ... ok
[INFO] [stdout] test deploy::tests::test_domain_is_apex_single_dot ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_ssh_with_dotgit ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_cloudflare_subdomain ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_github_pages_apex ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_github_pages_notes_mention_cname ... ok
[INFO] [stdout] test deploy::tests::test_check_git_remote_no_repo_no_git ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_netlify_notes_mention_ssl ... ok
[INFO] [stdout] test deploy::tests::test_check_git_repo_not_a_repo ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_notes_are_nonempty ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_github_pages_notes_mention_ssl ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_github_pages_subdomain ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_netlify ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_netlify_apex ... ok
[INFO] [stdout] test deploy::tests::test_check_git_repo_name_field ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_netlify_no_project_uses_placeholder ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_struct_fields ... ok
[INFO] [stdout] test deploy::tests::test_check_git_remote_name_field ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_empty ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_https_with_port_and_path ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_just_scheme_and_host ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_no_scheme ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_subdomain_chain ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_with_port ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_empty_string ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_port_only_no_host ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_http_not_matched ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_multiple_urls_returns_first ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_no_url ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_only_whitespace_lines ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_url_on_own_line ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_with_trailing_punctuation ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_http_empty ... ok
[INFO] [stdout] test deploy::tests::test_fix_action_struct ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_url_with_path ... ok
[INFO] [stdout] test deploy::tests::test_generate_cloudflare_workflow ... ok
[INFO] [stdout] test deploy::tests::test_generate_cloudflare_workflow_default_project ... ok
[INFO] [stdout] test deploy::tests::test_generate_cloudflare_workflow_no_version_pin ... ok
[INFO] [stdout] test deploy::tests::test_generate_cloudflare_workflow_uses_output_dir ... ok
[INFO] [stdout] test deploy::tests::test_generate_cloudflare_workflow_uses_wrangler_action ... ok
[INFO] [stdout] test deploy::tests::test_generate_github_actions_workflow ... ok
[INFO] [stdout] test deploy::tests::test_generate_github_actions_workflow_contains_permissions ... ok
[INFO] [stdout] test deploy::tests::test_generate_cloudflare_workflow_has_workflow_dispatch ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_url_with_port ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_http_with_path ... ok
[INFO] [stdout] test deploy::tests::test_generate_cloudflare_workflow_contains_secrets ... ok
[INFO] [stdout] test deploy::tests::test_generate_github_actions_workflow_has_concurrency ... ok
[INFO] [stdout] test deploy::tests::test_generate_github_actions_workflow_has_two_jobs ... ok
[INFO] [stdout] test deploy::tests::test_generate_github_actions_workflow_has_workflow_dispatch ... ok
[INFO] [stdout] test deploy::tests::test_generate_github_actions_workflow_no_version_pin ... ok
[INFO] [stdout] test deploy::tests::test_generate_github_actions_workflow_uses_output_dir ... ok
[INFO] [stdout] test deploy::tests::test_generate_github_actions_workflow_uploads_artifact ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_config ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_config_has_redirects ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_config_no_version_pin ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_config_uses_output_dir ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_workflow_contains_secrets ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_workflow ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_workflow_has_workflow_dispatch ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_workflow_uses_netlify_action ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_workflow_no_version_pin ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_github_pages_no_repo_uses_placeholder ... ok
[INFO] [stdout] test deploy::tests::test_git_push_result_develop_branch ... ok
[INFO] [stdout] test deploy::tests::test_git_push_result_fields ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_workflow_uses_output_dir ... ok
[INFO] [stdout] test deploy::tests::test_git_push_result_master_branch ... ok
[INFO] [stdout] test deploy::tests::test_github_pages_workflow_unchanged ... ok
[INFO] [stdout] test deploy::tests::test_netlify_workflow_includes_subdomain_deploy ... ok
[INFO] [stdout] test deploy::tests::test_netlify_workflow_no_subdomain ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_deep_path ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_empty_after_scheme ... ok
[INFO] [stdout] test deploy::tests::test_netlify_workflow_sanitizes_secret_suffix ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_for_http_with_query_string ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_netlify_subdomain ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_for_http_port_zero ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_for_http_with_fragment ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_with_invalid_port_falls_back_to_default ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_for_http_very_long_path ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_for_http ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_http_default_port ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_embedded ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_https_with_explicit_port ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_no_path ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_no_scheme ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_for_http_port_overflow_falls_back ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_http_no_path ... ok
[INFO] [stdout] test deploy::tests::test_print_domain_setup_multiple_records ... ok
[INFO] [stdout] test deploy::tests::test_print_domain_setup_no_panic ... ok
[INFO] [stdout] test deploy::tests::test_print_preflight_all_fail ... ok
[INFO] [stdout] test deploy::tests::test_print_preflight_all_pass ... ok
[INFO] [stdout] test deploy::tests::test_print_preflight_empty_checks ... ok
[INFO] [stdout] test deploy::tests::test_print_preflight_one_fails ... ok
[INFO] [stdout] test deploy::tests::test_print_preflight_single_fail ... ok
[INFO] [stdout] test deploy::tests::test_print_preflight_single_pass ... ok
[INFO] [stdout] test deploy::tests::test_print_verification_all_fail ... ok
[INFO] [stdout] test deploy::tests::test_print_verification_all_pass ... ok
[INFO] [stdout] test deploy::tests::test_print_verification_empty ... ok
[INFO] [stdout] test deploy::tests::test_print_verification_mixed_results ... ok
[INFO] [stdout] test deploy::tests::test_print_domain_setup_empty_records ... ok
[INFO] [stdout] test deploy::tests::test_preflight_unknown_target ... ok
[INFO] [stdout] test deploy::tests::test_recheck_base_url_localhost ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_for_http_port_65535 ... ok
[INFO] [stdout] test deploy::tests::test_preflight_check_struct ... ok
[INFO] [stdout] test deploy::tests::test_recheck_base_url ... ok
[INFO] [stdout] test deploy::tests::test_preflight_cloudflare_no_domain_check_when_not_configured ... ok
[INFO] [stdout] test deploy::tests::test_preflight_cloudflare_with_domain ... ok
[INFO] [stdout] test deploy::tests::test_recheck_git_repo_with_git_dir ... ok
[INFO] [stdout] test deploy::tests::test_recheck_output_dir_missing ... ok
[INFO] [stdout] test deploy::tests::test_recheck_output_directory ... ok
[INFO] [stdout] test deploy::tests::test_recheck_git_remote_with_configured_repo ... ok
[INFO] [stdout] test deploy::tests::test_recheck_unknown_check_name ... ok
[INFO] [stdout] test deploy::tests::test_preflight_netlify_target ... ok
[INFO] [stdout] test deploy::tests::test_recheck_netlify_cli ... ok
[INFO] [stdout] test deploy::tests::test_recheck_gh_cli ... ok
[INFO] [stdout] test deploy::tests::test_resolve_deploy_base_url_config_with_trailing_slash ... ok
[INFO] [stdout] test deploy::tests::test_resolve_deploy_base_url_empty_override ... ok
[INFO] [stdout] test deploy::tests::test_resolve_deploy_base_url ... ok
[INFO] [stdout] test deploy::tests::test_resolve_deploy_base_url_override_no_trailing_slash ... ok
[INFO] [stdout] test deploy::tests::test_resolve_deploy_base_url_override_with_multiple_trailing_slashes ... ok
[INFO] [stdout] test deploy::tests::test_recheck_git_cli ... ok
[INFO] [stdout] test deploy::tests::test_preflight_netlify_no_domain_check_when_not_configured ... ok
[INFO] [stdout] test deploy::tests::test_recheck_wrangler_cli ... ok
[INFO] [stdout] test deploy::tests::test_resolve_deploy_base_url_strips_trailing_slash ... ok
[INFO] [stdout] test deploy::tests::test_resolve_deploy_base_url_whitespace_in_config ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_base_url ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_base_url_has_manual_instructions ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_cloudflare_domain ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_cloudflare_auth ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_gh_cli ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_cloudflare_domain_no_quote_in_message ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_git_repo ... ok
[INFO] [stdout] test deploy::tests::test_recheck_git_repo ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_git_repo_has_manual_instructions ... ok
[INFO] [stdout] test deploy::tests::test_preflight_cloudflare_target ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_cloudflare_project ... ok
[INFO] [stdout] test deploy::tests::test_preflight_netlify_with_domain ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_netlify_auth ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_netlify_domain_no_quote_in_message ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_unknown ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_netlify_domain ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_netlify_cli ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_git_cli ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_base_url ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_wrangler_cli ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_invalid_toml ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_creates_deploy_section ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_netlify_site ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_base_url_and_project_together ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_base_url_not_in_deploy ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_git_remote ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_empty_updates ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_output_dir ... ok
[INFO] [stdout] test deploy::tests::test_preflight_github_pages ... ok
[INFO] [stdout] test deploy::tests::test_preflight_github_pages_includes_git_checks ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_overwrite_existing_value ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_nonexistent_file ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_output_dir_has_manual_instructions ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_multiple_updates ... ok
[INFO] [stdout] test deploy::tests::test_verify_deployment_invalid_url ... ok
[INFO] [stdout] test deploy::tests::test_verify_result_failed ... ok
[INFO] [stdout] test deploy::tests::test_verify_http_invalid_url_no_scheme ... ok
[INFO] [stdout] test deploy::tests::test_verify_url_reachable_dns_resolution_skip ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_passed ... ok
[INFO] [stdout] test deploy::tests::test_verify_http_connection_refused ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_preserves_site_section ... ok
[INFO] [stdout] test deploy::tests::test_verify_deployment_no_trailing_slash ... ok
[INFO] [stdout] test deploy::tests::test_verify_url_reachable_connection_refused ... ok
[INFO] [stdout] test deploy::tests::test_verify_deployment_returns_four_results ... ok
[INFO] [stdout] test deploy::tests::test_verify_deployment_trims_trailing_slash ... ok
[INFO] [stdout] test deploy::tests::test_verify_result_struct_fields ... ok
[INFO] [stdout] test deploy::tests::test_verify_url_reachable_invalid_url ... ok
[INFO] [stdout] test docs::tests::test_all_docs_have_content ... ok
[INFO] [stdout] test docs::tests::test_all_docs_have_unique_slugs ... ok
[INFO] [stdout] test docs::tests::test_all_returns_all_docs ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config ... ok
[INFO] [stdout] test docs::tests::test_by_slug_not_found ... ok
[INFO] [stdout] test docs::tests::test_strip_frontmatter ... ok
[INFO] [stdout] test docs::tests::test_by_slug_found ... ok
[INFO] [stdout] test docs::tests::test_all_sorted_by_weight ... ok
[INFO] [stdout] test docs::tests::test_strip_frontmatter_no_frontmatter ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_with_multiple_collections ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_with_config_includes_site_resources ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_with_mcp_config_file ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_empty_directory ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_draft_items_included ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_via_read ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_without_config_returns_only_docs ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_without_trust_excludes_trust_resource ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_collection_label_matches_preset ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_with_trust_config_includes_trust_resource ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_without_mcp_config_file ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_no_paths ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_with_trust_collection_includes_trust_resource ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_date_sorting_descending ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_config_with_config ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_config_with_trust_section ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_ignores_non_md_files ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_config_without_config ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_url_with_empty_prefix ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_content_overview_counts_md_files ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_content_overview_includes_collection_metadata ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_content_overview_counts_nested_md_files ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_content_overview_with_missing_content_dir ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_content_overview_with_no_paths ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_content_overview_without_config ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_content_overview_multiple_collections ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_with_custom_slug ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_content_via_read ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_doc_all_embedded_slugs ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_doc_empty_slug ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_without_config ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_doc_valid_slug ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_doc_nonexistent_slug ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_docs_index_mime_type ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_weight_sorting ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_unknown_collection ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_with_content_files ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_invalid_doc_slug ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_weight_sorting_alphabetical_tiebreak ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_config_serializes_collections ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_completely_wrong_scheme ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_empty_uri ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_config_via_read ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_with_description_and_weight ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_mcp_config_missing_file ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_mcp_config_via_read ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_docs_index_returns_all_docs ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_missing_uri_parameter ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_themes_bundled_have_descriptions ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_mcp_config_with_file ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_routes_to_docs_index ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_routes_to_specific_doc ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_themes_with_installed_theme ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_faq_non_array ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_no_paths ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_themes_no_installed_themes_dir ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_themes_via_read ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_themes_includes_bundled ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_with_certifications_data ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_subprocessors_non_array ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_via_read ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_with_faq_data ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_with_subprocessors_data ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_without_data_dir ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_with_invalid_yaml_data ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_without_trust_section ... ok
[INFO] [stdout] test mcp::tests::test_dispatch_ping ... ok
[INFO] [stdout] test mcp::tests::test_dispatch_unknown_method ... ok
[INFO] [stdout] test mcp::tests::test_handle_initialize ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_with_trust_config ... ok
[INFO] [stdout] test mcp::tests::test_parse_notification ... ok
[INFO] [stdout] test mcp::tests::test_parse_request ... ok
[INFO] [stdout] test mcp::tools::tests::test_call_build_no_config ... ok
[INFO] [stdout] test mcp::tools::tests::test_call_apply_theme_no_config ... ok
[INFO] [stdout] test mcp::tools::tests::test_call_missing_name ... ok
[INFO] [stdout] test mcp::tools::tests::test_call_create_content_no_config ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_all_data_files_together ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_with_nested_content ... ok
[INFO] [stdout] test mcp::tools::tests::test_call_search_no_config ... ok
[INFO] [stdout] test mcp::tools::tests::test_call_unknown_tool ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_excerpt ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_excerpt_not_found_falls_back ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_excerpt_at_start ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_matching_sections ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_matching_sections_no_match ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_matching_sections_max_5 ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_excerpt_at_end ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_matching_sections_multiple ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_without_config ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_matching_sections_no_headings ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_unknown_uri ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_uri_not_string ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_uri_with_trailing_content ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_with_content_items ... ok
[INFO] [stdout] test mcp::tools::tests::test_first_paragraph ... ok
[INFO] [stdout] test mcp::tools::tests::test_first_paragraph_empty ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_matching_sections_truncates_long ... ok
[INFO] [stdout] test mcp::tools::tests::test_first_paragraph_max_3_lines ... ok
[INFO] [stdout] test mcp::tools::tests::test_first_paragraph_truncates_at_200_chars ... ok
[INFO] [stdout] test mcp::tools::tests::test_list_returns_all_tools ... ok
[INFO] [stdout] test mcp::tools::tests::test_lookup_docs_all_topics_have_content ... ok
[INFO] [stdout] test mcp::tools::tests::test_lookup_docs_by_topic ... ok
[INFO] [stdout] test mcp::tools::tests::test_lookup_docs_no_args_returns_index ... ok
[INFO] [stdout] test mcp::tools::tests::test_lookup_docs_topic_not_found ... ok
[INFO] [stdout] test meta::tests::test_format_version ... ok
[INFO] [stdout] test meta::tests::test_meta_current ... ok
[INFO] [stdout] test meta::tests::test_load_missing_file ... ok
[INFO] [stdout] test meta::tests::test_parse_semver ... ok
[INFO] [stdout] test meta::tests::test_project_version_missing ... ok
[INFO] [stdout] test meta::tests::test_version_comparison ... ok
[INFO] [stdout] test meta::tests::test_roundtrip ... ok
[INFO] [stdout] test meta::tests::test_parse_semver_invalid ... ok
[INFO] [stdout] test output::human::tests::test_header_does_not_panic ... ok
[INFO] [stdout] test output::human::tests::test_suggest_match_close_typo ... ok
[INFO] [stdout] test output::human::tests::test_suggest_match_empty_candidates ... ok
[INFO] [stdout] test output::human::tests::test_suggest_match_exact ... ok
[INFO] [stdout] test output::human::tests::test_suggest_match_no_match ... ok
[INFO] [stdout] test output::human::tests::test_suggest_match_picks_best ... ok
[INFO] [stdout] test output::human::tests::test_warning_does_not_panic ... ok
[INFO] [stdout] test output::json::tests::test_success_envelope ... ok
[INFO] [stdout] test output::json::tests::test_success_with_struct ... ok
[INFO] [stdout] test output::tests::test_message_output_serialization ... ok
[INFO] [stdout] test output::json::tests::test_success_serialization_omits_none_fields ... ok
[INFO] [stdout] test output::tests::test_message_output_with_detail ... ok
[INFO] [stdout] test output::tests::test_message_output_without_detail ... ok
[INFO] [stdout] test output::tests::test_output_format_clone_copy ... ok
[INFO] [stdout] test output::tests::test_output_format_debug ... ok
[INFO] [stdout] test output::tests::test_message_output_serialization_with_detail ... ok
[INFO] [stdout] test output::json::tests::test_error_serialization_omits_none_fields ... ok
[INFO] [stdout] test platform::tests::test_home_dir_returns_some ... ok
[INFO] [stdout] test output::json::tests::test_error_envelope ... ok
[INFO] [stdout] test platform::tests::test_npm_cmd_creates_command ... ok
[INFO] [stdout] test platform::tests::test_wrangler_config_path_linux ... ok
[INFO] [stdout] test platform::tests::test_home_path_appends_relative ... ok
[INFO] [stdout] test platform::tests::test_wrangler_config_path_returns_some ... ok
[INFO] [stdout] test progress::tests::test_default_creates_instance ... ok
[INFO] [stdout] test progress::tests::test_done_with_no_spinner ... ok
[INFO] [stdout] test progress::tests::test_finish_current_no_spinner ... ok
[INFO] [stdout] test progress::tests::test_format_timing_milliseconds ... ok
[INFO] [stdout] test progress::tests::test_format_timing_seconds ... ok
[INFO] [stdout] test progress::tests::test_format_timing_sub_millisecond ... ok
[INFO] [stdout] test progress::tests::test_step_non_tty_sets_no_spinner ... ok
[INFO] [stdout] test progress::tests::test_multiple_steps_non_tty ... ok
[INFO] [stdout] test progress::tests::test_step_then_done ... ok
[INFO] [stdout] test server::tests::test_format_local_url_custom_host ... ok
[INFO] [stdout] test server::tests::test_format_local_url_ipv6_loopback ... ok
[INFO] [stdout] test server::tests::test_format_local_url_default ... ok
[INFO] [stdout] test server::tests::test_format_local_url_wildcard_ipv4 ... ok
[INFO] [stdout] test progress::tests::test_new_creates_instance ... ok
[INFO] [stdout] test server::tests::test_format_local_url_wildcard_ipv6 ... ok
[INFO] [stdout] test server::tests::test_guess_mime_css ... ok
[INFO] [stdout] test server::tests::test_guess_mime_double_extension ... ok
[INFO] [stdout] test server::tests::test_guess_mime_fingerprinted_assets ... ok
[INFO] [stdout] test server::tests::test_guess_mime_fonts ... ok
[INFO] [stdout] test server::tests::test_guess_mime_html ... ok
[INFO] [stdout] test server::tests::test_guess_mime_images ... ok
[INFO] [stdout] test server::tests::test_guess_mime_js ... ok
[INFO] [stdout] test server::tests::test_guess_mime_md ... ok
[INFO] [stdout] test server::tests::test_guess_mime_nested_path ... ok
[INFO] [stdout] test server::tests::test_guess_mime_json ... ok
[INFO] [stdout] test server::tests::test_guess_mime_no_extension ... ok
[INFO] [stdout] test server::tests::test_guess_mime_txt ... ok
[INFO] [stdout] test server::tests::test_guess_mime_webp ... ok
[INFO] [stdout] test server::tests::test_guess_mime_unknown ... ok
[INFO] [stdout] test server::tests::test_guess_mime_xml ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_body_at_end ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_body_with_whitespace_around ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_empty ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_inserts_newlines ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_multiple_body_tags ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_no_body_tag ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_invalid_utf8_passthrough ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_only_body_close_in_string ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_preserves_original_content ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_uppercase_body_not_matched ... ok
[INFO] [stdout] test server::tests::test_livereload_script_contains_reload_endpoint ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_with_body_tag ... ok
[INFO] [stdout] test server::tests::test_port_is_available_high_port ... ok
[INFO] [stdout] test server::tests::test_print_server_banner_all_interfaces_ipv4 ... ok
[INFO] [stdout] test server::tests::test_port_is_available_multiple_high_ports ... ok
[INFO] [stdout] test server::tests::test_livereload_script_calls_location_reload ... ok
[INFO] [stdout] test server::tests::test_livereload_script_is_valid_script_tag ... ok
[INFO] [stdout] test server::tests::test_print_server_banner_all_interfaces_ipv6 ... ok
[INFO] [stdout] test server::tests::test_port_is_available_detects_bound_port ... ok
[INFO] [stdout] test mcp::tools::tests::test_lookup_docs_by_query ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_large_html ... ok
[INFO] [stdout] test server::tests::test_local_network_ip_returns_valid_ip_or_none ... ok
[INFO] [stdout] test server::tests::test_resolve_and_mime_html_page ... ok
[INFO] [stdout] test server::tests::test_resolve_display_host_custom ... ok
[INFO] [stdout] test server::tests::test_resolve_display_host_loopback ... ok
[INFO] [stdout] test server::tests::test_resolve_display_host_wildcard_ipv4 ... ok
[INFO] [stdout] test server::tests::test_resolve_display_host_wildcard_ipv6 ... ok
[INFO] [stdout] test server::tests::test_resolve_and_mime_markdown_file ... ok
[INFO] [stdout] test server::tests::test_print_server_banner_loopback ... ok
[INFO] [stdout] test server::tests::test_print_server_banner_custom_host ... ok
[INFO] [stdout] test server::tests::test_resolve_and_mime_css_file ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_dotfile ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_empty_query_string ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_directory_index ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_exact_html_file ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_directory_without_index ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_favicon ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_directory_without_trailing_slash ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_exact_file ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_fingerprinted_asset ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_clean_url ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_i18n_index ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_root ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_root_empty_string ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_multiple_leading_slashes ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_just_slash ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_nested_clean_url ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_priority_exact_file_over_html ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_query_string ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_nested_directory_index ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_not_found ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_search_index_json ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_root_no_index ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_static_asset ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_query_string_with_path ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_image_file ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_i18n_prefix ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_markdown_file ... ok
[INFO] [stdout] test server::tests::test_server_addr_ipv4 ... ok
[INFO] [stdout] test server::tests::test_server_addr_ipv6_loopback ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_xml_file ... ok
[INFO] [stdout] test server::tests::test_server_addr_ipv6_wildcard ... ok
[INFO] [stdout] test server::tests::test_server_handle_drop_stops ... ok
[INFO] [stdout] test server::tests::test_server_handle_stop ... ok
[INFO] [stdout] test server::tests::test_server_handle_port ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_count_char_basic ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_body_shortcode_preserves_span ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_detect_fence_end_matching ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_detect_fence_start_backtick ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_detect_fence_end_not_matching ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_detect_fence_start_not_enough ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_detect_fence_start_not_fence_char ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_detect_fence_start_tilde ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_error_invalid_shortcode_name ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_error_unclosed_body_shortcode ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_escaped_backslash_in_string ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_find_closing_backticks ... ok
[INFO] [stdout] test server::tests::test_try_bind_auto_skips_busy_port ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_find_end_tag ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_detect_fence_end_with_trailing_whitespace ... ok
[INFO] [stdout] test server::tests::test_try_bind_auto_finds_available_port ... ok
[INFO] [stdout] test server::tests::test_server_handle_stop_is_idempotent ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_find_end_tag_not_found ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_error_unclosed_paren ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_fenced_code_at_start_of_file ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_find_body_close ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_find_inline_close ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_indented_fence_up_to_3_spaces ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_inline_code_with_double_backtick ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_is_line_start ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_line_number_tracking ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_no_shortcodes_returns_empty ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_empty ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_escaped_string ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_float ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_missing_value ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_integer ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_line_tracking_with_body_shortcode ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_boolean ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_multiple_mixed ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_negative_integer ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_value_boolean_boundary ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_multiple_shortcodes ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_value_invalid ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_missing_equals ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_value_negative_float ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_value_unclosed_string ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_skip_to_eol ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_string ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_shortcode_after_fenced_code_block ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_body_shortcode ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_shortcode_preserves_span ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_call_empty_name ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_call_hyphen_underscore_name ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_stray_end_tag_skipped ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_call_no_parens ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_inline_shortcode ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_shortcode_in_fenced_code_block_ignored ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_shortcode_in_inline_code_ignored ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_call_invalid_name_chars ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_tilde_fence_at_start_of_file ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_shortcode_in_tilde_fenced_block_ignored ... ok
[INFO] [stdout] test deploy::tests::test_deploy_github_pages_writes_cname_for_custom_domain ... ok
[INFO] [stdout] test deploy::tests::test_deploy_github_pages_writes_nojekyll ... ok
[INFO] [stdout] test deploy::tests::test_deploy_github_pages_no_cname_for_github_io ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_youtube_shortcode ... ok
[INFO] [stdout] test shortcodes::tests::test_shortcode_value_to_tera_value ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_no_shortcodes_returns_input ... ok
[INFO] [stdout] test shortcodes::tests::test_callout_falls_back_to_english_without_i18n ... ok
[INFO] [stdout] test shortcodes::tests::test_user_defined_shortcode ... ok
[INFO] [stdout] test shortcodes::tests::test_callout_title_arg_overrides_i18n ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_gist_shortcode ... ok
[INFO] [stdout] test templates::tests::test_all_default_templates_extend_base ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_multiple_shortcodes ... ok
[INFO] [stdout] test templates::tests::test_get_default_template_known_names ... ok
[INFO] [stdout] test templates::tests::test_default_base_is_non_empty ... ok
[INFO] [stdout] test templates::tests::test_get_default_template_unknown_returns_none ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_callout_body_shortcode ... ok
[INFO] [stdout] test shortcodes::tests::test_empty_registry ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_unknown_shortcode_errors ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_contact_form_shortcode ... ok
[INFO] [stdout] test themes::tests::test_all_bundled_theme_names ... ok
[INFO] [stdout] test themes::tests::test_all_themes_have_descriptions ... ok
[INFO] [stdout] test themes::tests::test_all_themes_have_non_empty_html ... ok
[INFO] [stdout] test themes::tests::test_all_themes_have_unique_names ... ok
[INFO] [stdout] test themes::tests::test_by_name_found ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_vimeo_shortcode ... ok
[INFO] [stdout] test themes::tests::test_installed_by_name_found ... ok
[INFO] [stdout] test themes::tests::test_installed_by_name_not_found ... ok
[INFO] [stdout] test themes::tests::test_installed_theme_no_description ... ok
[INFO] [stdout] test themes::tests::test_installed_themes_empty_dir ... ok
[INFO] [stdout] test themes::tests::test_by_name_not_found ... ok
[INFO] [stdout] test themes::tests::test_installed_themes_skips_non_tera ... ok
[INFO] [stdout] test themes::tests::test_installed_themes_with_themes ... ok
[INFO] [stdout] test themes::tests::test_parse_theme_description ... ok
[INFO] [stdout] test themes::tests::test_parse_theme_description_deep_in_file ... ok
[INFO] [stdout] test themes::tests::test_parse_theme_description_missing ... ok
[INFO] [stdout] test update_check::tests::test_cache_path_returns_some ... ok
[INFO] [stdout] test update_check::tests::test_cache_roundtrip ... ok
[INFO] [stdout] test themes::tests::test_installed_themes_sorted ... ok
[INFO] [stdout] test update_check::tests::test_load_cache_missing_file ... ok
[INFO] [stdout] test update_check::tests::test_load_cache_invalid_json ... ok
[INFO] [stdout] test update_check::tests::test_should_check_exactly_at_boundary ... ok
[INFO] [stdout] test update_check::tests::test_should_check_fresh_cache ... ok
[INFO] [stdout] test update_check::tests::test_should_check_invalid_timestamp ... ok
[INFO] [stdout] test update_check::tests::test_should_check_future_timestamp ... ok
[INFO] [stdout] test update_check::tests::test_should_check_no_cache ... ok
[INFO] [stdout] test shortcodes::tests::test_registry_is_not_empty ... ok
[INFO] [stdout] test update_check::tests::test_should_check_stale_cache ... ok
[INFO] [stdout] test update_check::tests::test_version_is_newer ... ok
[INFO] [stdout] test update_check::tests::test_version_is_newer_major_bump ... ok
[INFO] [stdout] test workspace::server::tests::test_generate_workspace_index_contains_sites ... ok
[INFO] [stdout] test update_check::tests::test_write_cache_creates_parent_dirs ... ok
[INFO] [stdout] test workspace::server::tests::test_guess_mime_unknown ... ok
[INFO] [stdout] test workspace::server::tests::test_guess_mime_html ... ok
[INFO] [stdout] test workspace::server::tests::test_port_is_available_detects_bound_port ... ok
[INFO] [stdout] test workspace::server::tests::test_port_is_available_high_port ... ok
[INFO] [stdout] test workspace::server::tests::test_guess_mime_webp ... ok
[INFO] [stdout] test workspace::server::tests::test_resolve_file_path_not_found ... ok
[INFO] [stdout] test workspace::server::tests::test_resolve_file_path_clean_url ... ok
[INFO] [stdout] test workspace::server::tests::test_resolve_file_path_root ... ok
[INFO] [stdout] test workspace::server::tests::test_route_request_matches_prefix ... ok
[INFO] [stdout] test workspace::server::tests::test_route_request_root_returns_none ... ok
[INFO] [stdout] test workspace::tests::test_cross_site_section_defaults ... ok
[INFO] [stdout] test workspace::tests::test_find_site_not_found ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_figure_shortcode ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_preserves_code_blocks ... ok
[INFO] [stdout] test workspace::tests::test_find_workspace_root_found ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_preserves_surrounding_content ... ok
[INFO] [stdout] test workspace::tests::test_load_invalid_toml ... ok
[INFO] [stdout] test workspace::tests::test_find_workspace_root_not_found ... ok
[INFO] [stdout] test workspace::tests::test_find_site_found ... ok
[INFO] [stdout] test workspace::tests::test_load_nonexistent_file ... ok
[INFO] [stdout] test workspace::tests::test_load_site_in_workspace_no_overrides ... ok
[INFO] [stdout] test workspace::tests::test_sites_to_operate_all ... ok
[INFO] [stdout] test workspace::tests::test_sites_to_operate_unknown_filter ... ok
[INFO] [stdout] test workspace::tests::test_sites_to_operate_filtered ... ok
[INFO] [stdout] test workspace::tests::test_load_site_in_workspace_applies_overrides ... ok
[INFO] [stdout] test workspace::tests::test_validate_duplicate_names ... ok
[INFO] [stdout] test workspace::tests::test_validate_empty_sites ... ok
[INFO] [stdout] test workspace::tests::test_validate_missing_seite_toml ... ok
[INFO] [stdout] test update_check::tests::test_version_is_newer_invalid_input ... ok
[INFO] [stdout] test shortcodes::tests::test_callout_uses_i18n_translations ... ok
[INFO] [stdout] test workspace::tests::test_load_valid_workspace ... ok
[INFO] [stdout] test shortcodes::tests::test_shortcode_with_page_context ... ok
[INFO] [stdout] test templates::tests::test_load_templates_with_trust_collection ... ok
[INFO] [stdout] test templates::tests::test_load_templates_from_real_dir ... ok
[INFO] [stdout] test shortcodes::tests::test_user_shortcode_non_html_skipped ... ok
[INFO] [stdout] test templates::tests::test_load_templates_with_changelog_collection ... ok
[INFO] [stdout] test shortcodes::tests::test_user_shortcode_override ... ok
[INFO] [stdout] test templates::tests::test_load_templates_no_dir ... ok
[INFO] [stdout] test templates::tests::test_load_templates_with_collections ... ok
[INFO] [stdout] test templates::tests::test_load_templates_with_roadmap_collection ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1239 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.26s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/seite-dbadc1dc1e75f5c2)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-4fff805b405608a0)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 362 tests
[INFO] [stdout] test test_build_contact_form_typeform ... ok
[INFO] [stdout] test test_build_changelog_collection ... ok
[INFO] [stdout] test test_build_contact_form_without_config_shows_error ... ok
[INFO] [stdout] test test_build_contact_form_netlify ... ok
[INFO] [stdout] test test_build_accessibility_aria_search ... ok
[INFO] [stdout] test test_build_contact_form_formspree ... ok
[INFO] [stdout] test test_build_copies_public_files_to_root ... ok
[INFO] [stdout] test test_build_changelog_and_roadmap_together ... ok
[INFO] [stdout] test test_build_contact_form_hubspot ... ok
[INFO] [stdout] test test_build_accessibility_skip_link ... ok
[INFO] [stdout] test test_atom_feed_valid ... ok
[INFO] [stdout] test test_build_contact_form_with_label_overrides ... ok
[INFO] [stdout] test test_atom_feed_excludes_docs ... ok
[INFO] [stdout] test test_build_body_shortcode_callout ... ok
[INFO] [stdout] test test_atom_autodiscovery_in_html ... ok
[INFO] [stdout] test test_build_contact_form_web3forms ... ok
[INFO] [stdout] test test_build_excerpt_more_marker ... ok
[INFO] [stdout] test test_build_data_nav_in_theme ... ok
[INFO] [stdout] test test_build_data_footer_in_theme ... ok
[INFO] [stdout] test test_build_default_language_in_context ... ok
[INFO] [stdout] test test_build_custom_template_override ... ok
[INFO] [stdout] test test_build_excerpt_first_paragraph ... ok
[INFO] [stdout] test test_build_empty_content_body ... ok
[INFO] [stdout] test test_build_extra_frontmatter_in_template ... ok
[INFO] [stdout] test test_build_excerpt_description_takes_priority ... ok
[INFO] [stdout] test test_build_docs_weight_mixed_with_unweighted ... ok
[INFO] [stdout] test test_build_docs_sorted_by_weight ... ok
[INFO] [stdout] test test_build_custom_template_with_blocks ... ok
[INFO] [stdout] test test_build_figure_shortcode ... ok
[INFO] [stdout] test test_build_generates_sitemap ... ok
[INFO] [stdout] test test_build_generates_robots_txt ... ok
[INFO] [stdout] test test_build_generated_files_overwrite_public ... ok
[INFO] [stdout] test test_build_generates_llms_txt ... ok
[INFO] [stdout] test test_build_generates_search_index ... ok
[INFO] [stdout] test test_build_data_conflict_errors ... ok
[INFO] [stdout] test test_build_data_parse_error ... ok
[INFO] [stdout] test test_build_homepage_with_index_page ... ok
[INFO] [stdout] test test_build_detects_url_collision ... ok
[INFO] [stdout] test test_build_excludes_drafts_by_default ... ok
[INFO] [stdout] test test_build_generates_tag_pages ... ok
[INFO] [stdout] test test_build_generates_404_page ... ok
[INFO] [stdout] test test_build_generates_404 ... ok
[INFO] [stdout] test test_build_gist_shortcode ... ok
[INFO] [stdout] test test_build_homepage_without_index_page ... ok
[INFO] [stdout] test test_build_lang_prefix_in_context ... ok
[INFO] [stdout] test test_build_html_lang_uses_current_language ... ok
[INFO] [stdout] test test_build_fingerprint_writes_manifest ... ok
[INFO] [stdout] test test_build_inline_shortcode_youtube ... ok
[INFO] [stdout] test test_build_link_check_passes_with_valid_links ... ok
[INFO] [stdout] test test_build_link_check_reports_broken_target ... ok
[INFO] [stdout] test test_build_image_resize_and_webp ... ok
[INFO] [stdout] test test_build_image_lazy_loading ... ok
[INFO] [stdout] test test_build_math_disabled_no_rendering ... ok
[INFO] [stdout] test test_build_link_check_strict_fails_on_broken_links ... ok
[INFO] [stdout] test test_build_link_check_strict_with_cross_collection_links ... ok
[INFO] [stdout] test test_build_image_picture_element_webp ... ok
[INFO] [stdout] test test_build_image_srcset_in_html ... ok
[INFO] [stdout] test test_build_link_check_warns_broken_links ... ok
[INFO] [stdout] test test_build_markdown_output_matches_source ... ok
[INFO] [stdout] test test_build_minify_css ... ok
[INFO] [stdout] test test_build_link_checker_accepts_public_files ... ok
[INFO] [stdout] test test_build_malformed_frontmatter_errors ... ok
[INFO] [stdout] test test_build_no_data_dir_succeeds ... ok
[INFO] [stdout] test test_build_math_enabled_renders_katex ... ok
[INFO] [stdout] test test_build_no_nudge_when_current ... ok
[INFO] [stdout] test test_build_no_listed_collections ... ok
[INFO] [stdout] test test_build_image_skip_larger_than_original ... ok
[INFO] [stdout] test test_build_multiple_shortcodes_in_one_page ... ok
[INFO] [stdout] test test_build_no_image_processing_without_config ... ok
[INFO] [stdout] test test_build_no_minify_by_default ... ok
[INFO] [stdout] test test_build_outputs_markdown_alongside_html ... ok
[INFO] [stdout] test test_build_no_pagination_without_config ... ok
[INFO] [stdout] test test_build_nudges_when_outdated ... ok
[INFO] [stdout] test test_build_produces_output ... ok
[INFO] [stdout] test test_build_reading_time_in_index ... ok
[INFO] [stdout] test test_build_nav_links_with_lang_prefix ... ok
[INFO] [stdout] test test_build_pagination_context_in_html ... ok
[INFO] [stdout] test test_build_reading_time_in_html ... ok
[INFO] [stdout] test test_build_pagination_generates_pages ... ok
[INFO] [stdout] test test_build_outputs_search_index_json ... ok
[INFO] [stdout] test test_build_roadmap_collection ... ok
[INFO] [stdout] test test_build_search_index_schema ... ok
[INFO] [stdout] test test_build_shortcode_in_code_block_not_expanded ... ok
[INFO] [stdout] test test_build_shortcode_user_overrides_builtin ... ok
[INFO] [stdout] test test_build_shortcode_raw_body_preserved_in_md ... ok
[INFO] [stdout] test test_build_tag_index_page ... ok
[INFO] [stdout] test test_build_search_index_excludes_drafts ... ok
[INFO] [stdout] test test_build_shortcode_in_inline_code_not_expanded ... ok
[INFO] [stdout] test test_build_subdomain_explicit_base_url_override ... ok
[INFO] [stdout] test test_build_search_index_multilingual ... ok
[INFO] [stdout] test test_build_subdomain_has_own_sitemap_rss ... ok
[INFO] [stdout] test test_build_special_characters_in_title ... ok
[INFO] [stdout] test test_build_tag_pages_multilingual ... ok
[INFO] [stdout] test test_build_subdomain_correct_base_url ... ok
[INFO] [stdout] test test_build_subdomain_rewrites_cross_links ... ok
[INFO] [stdout] test test_build_subdomain_reverse_links ... ok
[INFO] [stdout] test test_build_toc_headings_have_ids ... ok
[INFO] [stdout] test test_build_ui_strings_override ... ok
[INFO] [stdout] test test_build_toc_in_doc_template ... ok
[INFO] [stdout] test test_build_ui_strings_default ... ok
[INFO] [stdout] test test_build_subdomain_root_urls ... ok
[INFO] [stdout] test test_build_warns_missing_content_dir ... ok
[INFO] [stdout] test test_build_image_avif_picture_element ... ok
[INFO] [stdout] test test_build_trust_center ... ok
[INFO] [stdout] test test_build_with_docs ... ok
[INFO] [stdout] test test_build_unknown_shortcode_errors ... ok
[INFO] [stdout] test test_build_with_data_files ... ok
[INFO] [stdout] test test_build_with_gtm_has_noscript ... ok
[INFO] [stdout] test test_build_with_nested_data_files ... ok
[INFO] [stdout] test test_build_image_avif_generation ... ok
[INFO] [stdout] test test_build_with_json_data_file ... ok
[INFO] [stdout] test test_build_with_public_dir ... ok
[INFO] [stdout] test test_build_with_all_collection_types ... ok
[INFO] [stdout] test test_build_user_defined_shortcode ... ok
[INFO] [stdout] test test_build_with_plausible_analytics ... ok
[INFO] [stdout] test test_build_with_google_analytics_direct ... ok
[INFO] [stdout] test test_build_unclosed_body_shortcode_errors ... ok
[INFO] [stdout] test test_build_with_images_config ... ok
[INFO] [stdout] test test_build_with_analytics_cookie_consent ... ok
[INFO] [stdout] test test_collection_add_docs ... ok
[INFO] [stdout] test test_collection_add_pages ... ok
[INFO] [stdout] test test_collection_add_changelog ... ok
[INFO] [stdout] test test_build_without_analytics_no_injection ... ok
[INFO] [stdout] test test_collection_add_roadmap ... ok
[INFO] [stdout] test test_build_with_subdomain_collection ... ok
[INFO] [stdout] test test_build_with_toml_data_file ... ok
[INFO] [stdout] test test_collection_add_duplicate_fails ... ok
[INFO] [stdout] test test_collection_add_outside_project_fails ... ok
[INFO] [stdout] test test_build_with_minify_and_fingerprint ... ok
[INFO] [stdout] test test_collection_list_shows_table_headers ... ok
[INFO] [stdout] test test_build_with_google_analytics ... ok
[INFO] [stdout] test test_collection_list ... ok
[INFO] [stdout] test test_collection_list_shows_properties ... ok
[INFO] [stdout] test test_completions_bash_outputs_script ... ok
[INFO] [stdout] test test_completions_zsh_outputs_script ... ok
[INFO] [stdout] test test_completions_stdout_is_clean ... ok
[INFO] [stdout] test test_build_with_umami_custom_script_url ... ok
[INFO] [stdout] test test_build_with_yaml_data_file ... ok
[INFO] [stdout] test test_changelog_tags_render ... ok
[INFO] [stdout] test test_completions_fish_outputs_script ... ok
[INFO] [stdout] test test_contact_remove_when_not_configured ... ok
[INFO] [stdout] test test_collection_add_then_build ... ok
[INFO] [stdout] test test_contact_setup_creates_contact_page ... ok
[INFO] [stdout] test test_contact_remove ... ok
[INFO] [stdout] test test_contact_setup_formspree_noninteractive ... ok
[INFO] [stdout] test test_build_without_subdomain_no_dist_subdomains ... ok
[INFO] [stdout] test test_contact_setup_netlify_noninteractive ... ok
[INFO] [stdout] test test_contact_setup_no_contact_page_without_pages_collection ... ok
[INFO] [stdout] test test_contact_setup_netlify ... ok
[INFO] [stdout] test test_contact_setup_web3forms_noninteractive ... ok
[INFO] [stdout] test test_contact_setup_creates_contact_page_with_shortcode ... ok
[INFO] [stdout] test test_contact_setup_formspree_then_status ... ok
[INFO] [stdout] test test_contact_setup_noninteractive ... ok
[INFO] [stdout] test test_contact_setup_then_remove_then_status ... ok
[INFO] [stdout] test test_collection_index_redirect_to ... ok
[INFO] [stdout] test test_collection_index_redirect_to_with_i18n ... ok
[INFO] [stdout] test test_contact_setup_with_redirect_and_subject ... ok
[INFO] [stdout] test test_deploy_domain_updates_base_url ... ok
[INFO] [stdout] test test_deploy_domain_netlify ... ok
[INFO] [stdout] test test_contact_status_with_config ... ok
[INFO] [stdout] test test_deploy_domain_shows_dns_instructions ... ok
[INFO] [stdout] test test_contact_status_shows_redirect_and_subject ... ok
[INFO] [stdout] test test_contact_setup_web3forms ... ok
[INFO] [stdout] test test_contact_status_no_config ... ok
[INFO] [stdout] test test_deploy_dry_run_cloudflare ... ok
[INFO] [stdout] test test_deploy_dry_run_cloudflare_shows_project_check ... ok
[INFO] [stdout] test test_deploy_dry_run_github_pages ... ok
[INFO] [stdout] test test_collection_index_redirect_to_external_url ... ok
[INFO] [stdout] test test_deploy_dry_run_github_pages_shows_branch ... ok
[INFO] [stdout] test test_deploy_dry_run_cloudflare_shows_auth_check ... ok
[INFO] [stdout] test test_deploy_dry_run_base_url_override_with_cloudflare ... ok
[INFO] [stdout] test test_contact_setup_outside_project_fails ... ok
[INFO] [stdout] test test_deploy_dry_run_netlify_shows_site_check ... ok
[INFO] [stdout] test test_deploy_dry_run_cloudflare_preview_mode ... ok
[INFO] [stdout] test test_deploy_domain_cloudflare ... ok
[INFO] [stdout] test test_deploy_dry_run_github_pages_shows_nojekyll ... ok
[INFO] [stdout] test test_deploy_dry_run_no_commit ... ok
[INFO] [stdout] test test_collection_index_page_excluded_from_items ... ok
[INFO] [stdout] test test_deploy_dry_run_netlify ... ok
[INFO] [stdout] test test_collection_add_unknown_preset_fails ... ok
[INFO] [stdout] test test_contact_setup_invalid_provider ... ok
[INFO] [stdout] test test_deploy_dry_run_no_commit_github_pages ... ok
[INFO] [stdout] test test_deploy_dry_run_netlify_production_mode ... ok
[INFO] [stdout] test test_deploy_dry_run_preview_mode ... ok
[INFO] [stdout] test test_deploy_dry_run_no_commit_cloudflare ... ok
[INFO] [stdout] test test_deploy_dry_run_shows_preflight_checks ... ok
[INFO] [stdout] test test_deploy_dry_run_no_commit_netlify ... ok
[INFO] [stdout] test test_deploy_dry_run_skip_checks_cloudflare ... ok
[INFO] [stdout] test test_deploy_dry_run_no_commit_skip_checks_combined ... ok
[INFO] [stdout] test test_deploy_dry_run_skip_checks_github_pages ... ok
[INFO] [stdout] test test_deploy_dry_run_shows_output_dir ... ok
[INFO] [stdout] test test_deploy_dry_run_netlify_shows_auth_check ... ok
[INFO] [stdout] test test_collection_index_page_content_on_collection_index ... ok
[INFO] [stdout] test test_deploy_dry_run_with_target_override ... ok
[INFO] [stdout] test test_deploy_dry_run_skip_checks_netlify ... ok
[INFO] [stdout] test test_deploy_dry_run_warns_localhost_base_url ... ok
[INFO] [stdout] test test_changelog_index_uses_collection_template ... ok
[INFO] [stdout] test test_deploy_dry_run_shows_subdomains ... ok
[INFO] [stdout] test test_deploy_dry_run_with_base_url_override ... ok
[INFO] [stdout] test test_deploy_invalid_target_fails ... ok
[INFO] [stdout] test test_deploy_outside_project_fails ... ok
[INFO] [stdout] test test_init_claude_md_has_theme_builder_pointer ... ok
[INFO] [stdout] test test_init_cloudflare_creates_workflow ... ok
[INFO] [stdout] test test_deploy_unknown_target ... ok
[INFO] [stdout] test test_init_creates_data_directory ... ok
[INFO] [stdout] test test_init_creates_landing_page_skill ... ok
[INFO] [stdout] test test_deploy_skip_checks_bypasses_preflight ... ok
[INFO] [stdout] test test_docs_nav_fallback_for_missing_lang_in_cache ... ok
[INFO] [stdout] test test_init_creates_mcp_server_config ... ok
[INFO] [stdout] test test_init_creates_project_structure ... ok
[INFO] [stdout] test test_deploy_dry_run_skip_checks ... ok
[INFO] [stdout] test test_init_creates_page_meta ... ok
[INFO] [stdout] test test_init_creates_theme_builder_skill ... ok
[INFO] [stdout] test test_init_creates_public_directory ... ok
[INFO] [stdout] test test_i18n_backward_compat_single_language ... ok
[INFO] [stdout] test test_init_creates_rules_files ... ok
[INFO] [stdout] test test_init_gitignore_includes_dist_subdomains ... ok
[INFO] [stdout] test test_docs_collection_index_gets_sidebar_nav ... ok
[INFO] [stdout] test test_i18n_per_language_rss ... ok
[INFO] [stdout] test test_init_netlify_target ... ok
[INFO] [stdout] test test_init_lean_claude_md ... ok
[INFO] [stdout] test test_init_github_pages_creates_workflow ... ok
[INFO] [stdout] test test_init_with_docs ... ok
[INFO] [stdout] test test_init_no_landing_page_skill_without_pages ... ok
[INFO] [stdout] test test_init_rules_no_trust_without_trust_collection ... ok
[INFO] [stdout] test test_i18n_per_language_index ... ok
[INFO] [stdout] test test_init_with_contact_provider ... ok
[INFO] [stdout] test test_init_with_changelog_collection ... ok
[INFO] [stdout] test test_init_without_trust_has_no_trust_config ... ok
[INFO] [stdout] test test_mcp_initialize ... ok
[INFO] [stdout] test test_mcp_parse_error ... ok
[INFO] [stdout] test test_mcp_ping ... ok
[INFO] [stdout] test test_init_fails_if_dir_exists ... ok
[INFO] [stdout] test test_index_shows_listed_only ... ok
[INFO] [stdout] test test_init_with_roadmap_collection ... ok
[INFO] [stdout] test test_mcp_read_content_outside_project ... ok
[INFO] [stdout] test test_mcp_read_config_outside_project ... ok
[INFO] [stdout] test test_init_with_trust_collection ... ok
[INFO] [stdout] test test_mcp_docs_include_analytics ... ok
[INFO] [stdout] test test_docs_index_uses_docs_index_template ... ok
[INFO] [stdout] test test_i18n_sitemap_alternates ... ok
[INFO] [stdout] test test_init_creates_theme_builder_skill_without_pages ... ok
[INFO] [stdout] test test_mcp_read_doc_unknown_slug ... ok
[INFO] [stdout] test test_mcp_read_doc_page ... ok
[INFO] [stdout] test test_deploy_dry_run_preview ... ok
[INFO] [stdout] test test_mcp_read_content_collection ... ok
[INFO] [stdout] test test_mcp_read_content_unknown_collection ... ok
[INFO] [stdout] test test_mcp_full_session ... ok
[INFO] [stdout] test test_mcp_read_config ... ok
[INFO] [stdout] test test_mcp_read_docs_index ... ok
[INFO] [stdout] test test_mcp_read_missing_uri_param ... ok
[INFO] [stdout] test test_mcp_config_exposes_analytics ... ok
[INFO] [stdout] test test_mcp_read_themes ... ok
[INFO] [stdout] test test_mcp_read_mcp_config ... ok
[INFO] [stdout] test test_mcp_read_themes_outside_project ... ok
[INFO] [stdout] test test_mcp_tool_lookup_docs ... ok
[INFO] [stdout] test test_mcp_tool_lookup_docs_search ... ok
[INFO] [stdout] test test_mcp_unknown_method ... ok
[INFO] [stdout] test test_i18n_discovery_files ... ok
[INFO] [stdout] test test_mcp_tool_unknown_tool ... ok
[INFO] [stdout] test test_mcp_read_unknown_resource ... ok
[INFO] [stdout] test test_mcp_tool_apply_theme ... ok
[INFO] [stdout] test test_mcp_read_trust_resource ... ok
[INFO] [stdout] test test_mcp_tools_list ... ok
[INFO] [stdout] test test_new_changelog_entry ... ok
[INFO] [stdout] test test_new_post_creates_file ... ok
[INFO] [stdout] test test_new_post_with_lang_flag ... ok
[INFO] [stdout] test test_mcp_resources_list_with_trust ... ok
[INFO] [stdout] test test_new_roadmap_item ... ok
[INFO] [stdout] test test_mcp_tool_search ... ok
[INFO] [stdout] test test_new_doc_creates_file ... ok
[INFO] [stdout] test test_mcp_resources_list_without_project ... ok
[INFO] [stdout] test test_new_with_lang_flag ... ok
[INFO] [stdout] test test_mcp_read_content_overview ... ok
[INFO] [stdout] test test_new_page_creates_file ... ok
[INFO] [stdout] test test_mcp_tool_create_content ... ok
[INFO] [stdout] test test_mcp_resources_list_with_project ... ok
[INFO] [stdout] test test_self_update_check ... ok
[INFO] [stdout] test test_i18n_translated_pages_urls ... ok
[INFO] [stdout] test test_self_update_check_when_current ... ok
[INFO] [stdout] test test_skill_help ... ok
[INFO] [stdout] test test_new_unknown_collection ... ok
[INFO] [stdout] test test_skill_list_shows_available_packs ... ok
[INFO] [stdout] test test_skill_list_shows_bundled ... ok
[INFO] [stdout] test test_skill_remove_custom_skill ... ok
[INFO] [stdout] test test_mcp_tool_build ... ok
[INFO] [stdout] test test_new_with_invalid_lang ... ok
[INFO] [stdout] test test_skill_update_nothing_installed ... ok
[INFO] [stdout] test test_paginated_collection_nav_passed_to_template ... ok
[INFO] [stdout] test test_nested_docs ... ok
[INFO] [stdout] test test_subdomain_base_url_without_subdomain_fails ... ok
[INFO] [stdout] test test_subdomain_config_validation_no_duplicate ... ok
[INFO] [stdout] test test_redirects_from_aliases ... ok
[INFO] [stdout] test test_rss_feed_valid ... ok
[INFO] [stdout] test test_theme_apply_bento ... ok
[INFO] [stdout] test test_no_redirects_without_aliases ... ok
[INFO] [stdout] test test_roadmap_weight_ordering ... ok
[INFO] [stdout] test test_rss_excludes_docs ... ok
[INFO] [stdout] test test_paginated_collection_index_page_on_first_page ... ok
[INFO] [stdout] test test_skill_install_unknown_name ... ok
[INFO] [stdout] test test_paginated_docs_nav_fallback_for_missing_lang ... ok
[INFO] [stdout] test test_theme_apply_brutalist ... ok
[INFO] [stdout] test test_theme_apply_dark_revised ... ok
[INFO] [stdout] test test_sitemap_valid ... ok
[INFO] [stdout] test test_theme_apply_installed ... ok
[INFO] [stdout] test test_theme_apply_outside_project_fails ... ok
[INFO] [stdout] test test_theme_apply_nonexistent_fails ... ok
[INFO] [stdout] test test_skill_remove_nonexistent ... ok
[INFO] [stdout] test test_theme_apply_unknown_fails ... ok
[INFO] [stdout] test test_theme_export ... ok
[INFO] [stdout] test test_theme_create_requires_page_toml ... ok
[INFO] [stdout] test test_roadmap_grouped_by_status ... ok
[INFO] [stdout] test test_subdomain_redirect_to ... ok
[INFO] [stdout] test test_theme_export_with_description_metadata ... ok
[INFO] [stdout] test test_subdomain_root_without_collection_index_still_works ... ok
[INFO] [stdout] test test_theme_export_no_base_html ... ok
[INFO] [stdout] test test_theme_install_from_local_file_url ... ok
[INFO] [stdout] test test_theme_list_shows_bundled ... ok
[INFO] [stdout] test test_theme_list ... ok
[INFO] [stdout] test test_theme_list_shows_all_bundled ... ok
[INFO] [stdout] test test_theme_export_without_base_html_fails ... ok
[INFO] [stdout] test test_trust_embedded_doc_exists ... ok
[INFO] [stdout] test test_trust_from_preset ... ok
[INFO] [stdout] test test_trust_preset_config ... ok
[INFO] [stdout] test test_upgrade_adds_landing_page_skill ... ok
[INFO] [stdout] test test_subdomain_root_uses_collection_index_page ... ok
[INFO] [stdout] test test_theme_apply_dark_then_build ... ok
[INFO] [stdout] test test_theme_list_shows_installed_themes ... ok
[INFO] [stdout] test test_theme_apply_docs_then_build ... ok
[INFO] [stdout] test test_theme_apply_minimal_then_build ... ok
[INFO] [stdout] test test_upgrade_adds_mcp_to_existing_project ... ok
[INFO] [stdout] test test_upgrade_appends_mcp_section_to_claude_md ... ok
[INFO] [stdout] test test_theme_export_duplicate_fails ... ok
[INFO] [stdout] test test_upgrade_adds_theme_builder_skill ... ok
[INFO] [stdout] test test_upgrade_check_mode_succeeds_when_current ... ok
[INFO] [stdout] test test_theme_export_then_apply ... ok
[INFO] [stdout] test test_subdomain_root_has_sidebar_nav ... ok
[INFO] [stdout] test test_theme_install_requires_page_toml ... ok
[INFO] [stdout] test test_upgrade_creates_rules_files ... ok
[INFO] [stdout] test test_theme_apply_all_bundled ... ok
[INFO] [stdout] test test_subdomain_redirect_to_with_relative_url ... ok
[INFO] [stdout] test test_upgrade_check_mode_exits_nonzero ... ok
[INFO] [stdout] test test_theme_list_shows_installed ... ok
[INFO] [stdout] test test_upgrade_idempotent ... ok
[INFO] [stdout] test test_upgrade_force ... ok
[INFO] [stdout] test test_upgrade_migrates_old_homepage_skill ... ok
[INFO] [stdout] test test_upgrade_stamps_version_even_when_no_actions ... ok
[INFO] [stdout] test test_upgrade_fixes_deploy_workflow_cargo_install ... ok
[INFO] [stdout] test test_upgrade_updates_outdated_skill ... ok
[INFO] [stdout] test test_upgrade_updates_outdated_theme_builder_skill ... ok
[INFO] [stdout] test test_upgrade_on_fresh_project_is_noop ... ok
[INFO] [stdout] test test_workspace_add_and_list ... ok
[INFO] [stdout] test test_workspace_init ... ok
[INFO] [stdout] test test_upgrade_preserves_existing_mcp_servers ... ok
[INFO] [stdout] test test_theme_export_duplicate_name_fails ... ok
[INFO] [stdout] test test_workspace_init_and_add_site ... ok
[INFO] [stdout] test test_workspace_status ... ok
[INFO] [stdout] test test_trust_center_no_sections ... ok
[INFO] [stdout] test test_upgrade_outside_project_fails ... ok
[INFO] [stdout] test test_workspace_build_with_site_filter ... ok
[INFO] [stdout] test test_workspace_build ... ok
[INFO] [stdout] test test_theme_apply_then_build_with_all_themes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 362 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 14.39s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests seite
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "891dda41447e3e9ec70d1e0413e5aed1c27ad26a70faa43d67e8f9e25bcffbd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "891dda41447e3e9ec70d1e0413e5aed1c27ad26a70faa43d67e8f9e25bcffbd2", kill_on_drop: false }`
[INFO] [stdout] 891dda41447e3e9ec70d1e0413e5aed1c27ad26a70faa43d67e8f9e25bcffbd2
